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
oderD:\xampp\htdocs\project_folder
- in xampp\htdocs\project_folder
- Dann ist es ziemlich offensichtlich. Der Pfad im code von
"images/" . $_FILES["file"]["name"]
wird gleichD:\xampp\htdocs\images
und ich Wette, die Sie erstellt habenD:\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 inD:\xampp\htdocs\project1
,D:\xampp\htdocs\project2
. Dann bekommen Sie eine richtigeDocumentRoot
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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie einen richtigen Weg, der
'images/1409261668002.png'
Pfad nicht existieren, wenn Sie nicht erstellen Sie und nicht angeben.Müssen Sie den absoluten Pfad
Unable to move 'D:\xampp\tmp\php1C1F.tmp' to 'images/1409261668002.png' in D:\xampp\htdocs\image-upload\index.php
nicht vorhanden sind, Editiere ich meine AntwortKönnen Sie folgenden code verwenden:
Lassen Sie mich wissen, wenn Sie Fragen/Anliegen in Bezug auf diese.