Upload.php:
<?php //This is the directory where images will be saved $target = "pics"; $target = $target . basename( $_FILES['Filename']['name']); //This gets all the other information from the form $Filename=$_POST['Filename']; $Description=$_POST['Description']; $pic=($_FILES['Filename']['name']); // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("altabotanikk") or die(mysql_error()) ; //Writes the information to the database mysql_query("INSERT INTO picture (Filename,Description) VALUES ('$Filename', '$Description')") ; //Writes the Filename to the server if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) { //Tells you if its all ok echo "The file ". basename( $_FILES['uploadedfile']['Filename']). " has been uploaded, and your information has been added to the directory"; } else { //Gives and error if its not echo "Sorry, there was a problem uploading your file."; } ?>
这是表格(在单独的文件中):
<form method="post" action="upload.php" enctype="multipart/form-data"> <p>Photo:</p> <input type="file" name="Filename"> <p>Description</p> <textarea rows="10" cols="35" name="Description"></textarea> <br/> <input TYPE="submit" name="upload" value="Add"/> </form>
错误是
Undefined index: Filename on Line 17
($ Filename = $ _ POST [‘Filename’];)
和
Undefined index: uploadedfile on Line 35
(回显“文件“。basename($ _FILES [‘uploadedfile’] [‘Filename’])。”已经上传,并且您的信息已添加到目录中“;)
echo"<pre>".print_r($_FILES,true)."</pre>";
给我:
Array ( [Filename] => Array ( [name] => Laserkanon.jpg [type] => image/jpeg [tmp_name] => C:\WampServer\tmp\php11D4.tmp [error] => 0 [size] => 41813 ) )
首先,您应该使用它print_r($_FILES)进行调试,然后查看其中包含的内容。:
print_r($_FILES)
您uploads.php将看起来像:
uploads.php
//This is the directory where images will be saved $target = "pics/"; $target = $target . basename( $_FILES['Filename']['name']); //This gets all the other information from the form $Filename=basename( $_FILES['Filename']['name']); $Description=$_POST['Description']; //Writes the Filename to the server if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) { //Tells you if its all ok echo "The file ". basename( $_FILES['Filename']['name']). " has been uploaded, and your information has been added to the directory"; // Connects to your Database mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("altabotanikk") or die(mysql_error()) ; //Writes the information to the database mysql_query("INSERT INTO picture (Filename,Description) VALUES ('$Filename', '$Description')") ; } else { //Gives and error if its not echo "Sorry, there was a problem uploading your file."; } ?>
编辑: 由于这是旧帖子,目前强烈建议在php中使用mysqli或pdo代替mysql_函数