Wie auf Bild hochladen und URL speichern in der Datenbank in php

In dieser php-code möchte ich zum anpassen der Bild-upload-Ziel. mit dieser php-Datei, ich habe Verzeichnis namens uploads. Ich möchte hinzufügen, alle meine hochgeladenen Bilder in dieses Verzeichnis und Speicher-Pfad in der db. wie kann ich dies tun?

<?php
//Assigning value about your server to variables for database connection
$hostname_connect= "localhost";
$database_connect= "image_upload";
$username_connect= "root";
$password_connect= "";

$connect_solning = mysql_connect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR); 
@mysql_select_db($database_connect) or die (mysql_error()); 

if($_POST) { 
    //$_FILES["file"]["error"] is HTTP File Upload variables $_FILES["file"] "file" is the name of input field you have in form tag.

    if ($_FILES["file"]["error"] > 0) {
        //if there is error in file uploading 
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";

    } else {
        //check if file already exit in "images" folder.
        if (file_exists("images/" . $_FILES["file"]["name"])) {
            echo $_FILES["file"]["name"] . " already exists. ";
        } else {  
            //move_uploaded_file function will upload your image.  if you want to resize image before uploading see this link http://b2atutorials.blogspot.com/2013/06/how-to-upload-and-resize-image-for.html
            if(move_uploaded_file($_FILES["file"]["tmp_name"],"images/" . $_FILES["file"]["name"])) {
                //If file has uploaded successfully, store its name in data base
                $query_image = "insert into acc_images (image, status, acc_id) values ('".$_FILES['file']['name']."', 'display','')";
                if(mysql_query($query_image)) {
                    echo "Stored in: " . "images/" . $_FILES["file"]["name"];
                } else {
                    echo 'File name not stored in database';
            }
       }
   }    
}
}
?>

derzeit, wenn ich das hochladen
Ich bin immer Warnungen

Warnung: move_uploaded_file(Bilder/1409261668002.png): failed to open stream: Keine solche Datei oder Verzeichnis in D:\xampp\htdocs\image-upload\index.php in Zeile 29 wird

Warning: move_uploaded_file(): Unable to move 'D:\xampp\tmp\php1C1F.tmp' zu 'images/1409261668002.png' in D:\xampp\htdocs\image-upload\index.php in Zeile 29 wird

  • Wo steht Ihr Projekt Leben, also ist es in D:\xampp\htdocs oder D:\xampp\htdocs\project_folder
  • in xampp\htdocs\project_folder
  • Dann ist es ziemlich offensichtlich. Der Pfad im code von "images/" . $_FILES["file"]["name"] wird gleich D:\xampp\htdocs\images und ich Wette, die Sie erstellt haben D:\xampp\htdocs\project\images. Seine ein DocumentRoot Sache. Um Seiten korrekt ausgeführt, sind Sie gut beraten, einen Virtuellen Host erstellen für jedes Ihrer Projekte, auch wenn Sie Leben in D:\xampp\htdocs\project1, D:\xampp\htdocs\project2. Dann bekommen Sie eine richtige DocumentRoot und alle Ordner mit code funktioniert wie expeted
  • Wenn Sie können, sollten Sie stop mit mysql_* Funktionen. Sie werden nicht mehr gepflegt und sind offiziell nicht mehr. Erfahren Sie mehr über bereit Anweisungen statt, und erwägen Sie die Verwendung von PDO, es ist wirklich nicht schwer.
Schreibe einen Kommentar