[英]Php Image upload script
您好教程和自己的hinking我寫了這段代碼
if(isset($_POST['upload'])) {
$allowed_filetypes = array('.jpg','.jpeg','.png','.gif');
$max_filesize = 10485760;
$upload_path = 'uploads/';
$description = $_POST['imgdesc'];
$filename = $_FILES['userfile']['name'];
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);
if(!in_array($ext,$allowed_filetypes))
die('The file you attempted to upload is not allowed.');
if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
die('The file you attempted to upload is too large.');
if(!is_writable($upload_path))
die('You cannot upload to the specified directory, please CHMOD it to 777.');
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename)) {
$query = "INSERT INTO uploads (name, description) VALUES ($filename, $description)";
mysql_query($query);
echo 'Your file upload was successful!';
} else {
echo 'There was an error during the file upload. Please try again.';
}
}
我收到了這個錯誤;
注意:未定義的索引:第16行的C:\\ WebServer \\ htdocs \\ PicSide \\ admin \\ addimage.php中的userfile
怎么解決它有誰知道? 上傳服務器是否正確?
基本上,您的錯誤意味着您的表單中沒有以下(或類似的)元素:
<input type="file" name="userfile" />
其中重要的部分是實際name="userfile"
,它指定$_FILES
數組中的鍵。
不要忘記連續:
$query = "INSERT INTO uploads (name, description) VALUES ($filename, $description)";
應該:
$query = "INSERT INTO uploads (name, description) VALUES (".$filename.", ".$description.")";
<form>
<input type="file" name="userfile" />
</form>
$allowed_filetypes = array('.jpg','.jpeg','.png','.gif');
$max_filesize = 10485760;
$upload_path = 'uploads/';
$description = $_POST['imgdesc'];
$filename = $_FILES['userfile']['name'];
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename)) {
$query = "INSERT INTO uploads (name, description) VALUES ($filename, $description)";
mysql_query($query);
echo 'Your file upload was successful!';
}
<?php
error_reporting(0);
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.