[英]Having issues uploading images to directory
我有文件類型輸入,我想上傳圖像。 我像5次一樣重寫代碼,以為我做錯了,但到目前為止我看不到它。 因為它不起作用。 HTML代碼
<form method="post" enctype="multipart/form-data">
<input type="file" name="primaryimg" id="primaryimg"></br>
<input type="submit" value="Sell!" name="uploaditem" />
</form>
這是我的PHP代碼
if(isset($_POST['uploaditem'])){
$filebasename = basename($_FILES['primaryimg']['name']);
$ext = strtolower(substr($filebasename, strrpos($filebasename, '.') + 1));
if (($ext == "jpg" || $ext == "gif" || $ext == "png" || $ext == "jpeg") && ($_FILES['primaryimg']['type'] == "image/jpg" || $_FILES['primaryimg']['type'] == "image/gif" || $_FILES['primaryimg']['type'] == "image/png" || $_FILES['primaryimg']['type'] == "image/jpeg")){
$desired_dir="img/products/sellers/$user/$itemname/";
$file_name=$_files['primaryimg']['name'];
if (file_exists($desired_dir . $file_name)){
$errormsg="Filename already exists.";
}else{
move_uploaded_file($_FILES['primaryimg']['tmp_name'], $desired_dir . $file_name);
$errormsg = $file_name . "successfully uploaded.";
}
}else{
$errormsg = "Error! File is not a valid jpg, gif, png or jpeg";
}
}
所以我嘗試回顯$filebasename
到basename($_FILES)
所在的位置,以查看其獲取的值。 顯然它是空的。 我做了一個$lol=$_POST['primaryimg'];
並回顯了$lol
,它確實顯示了項目名稱。 因此由於某些原因, $files
保持為空,而move_upload_file
也無效。
那些把錯誤報告放在我看到以下錯誤
注意:未定義的索引:第21行的D:\\ Dropbox \\ UoC \\ phphosting \\ buyathing \\ sellanitem.php中的primaryimg
在顯示以下錯誤后,該圖像不是jpg / jpeg ...它應打印文件名,並且您可以看到它是EMPTY。
我去了php.ini,看看是否打開了file_upload
。 我嘗試上傳的圖片為550k,但我的最大文件大小為2M,所以也不是問題所在。 我已經搜尋了5個小時,但是沒有運氣。 因此,如果有人在我迷失之前能幫助我,那就太好了:')預先感謝。
我認為您沒有創建目錄,當您移動文件時,應該存在一個文件夾。首先,您應該為此目錄創建一個目錄img/products/sellers/".$user."/".$itemname."/
。
使用php基本功能mkdir()
。
在這里您還可以找到更多信息。 然后嘗試以特定位置上傳圖片。希望這對您有所幫助,我會對其進行調查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.