[英]Can't upload image file with php to sever
我已經在html中創建了一個用於上傳圖像的表單,它看起來很完美,因為當我上傳圖像時,它給了我字符串“成功”,但是我無法在服務器中找到該文件。
這是我的代碼:
<?php
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
$expensions= array("jpeg","jpg","png");
if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($file_size > 2097152){
$errors[]='File size must be excately 2 MB';
}
if(empty($errors)==true){
move_uploaded_file($file_tmp,"./photo/".$file_name);
echo "Success";
}
else{
print_r($errors);
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit"/>
<ul>
<li>Sent file: <?php echo $_FILES['image']['name']; ?>
<li>File size: <?php echo $_FILES['image']['size']; ?>
<li>File type: <?php echo $_FILES['image']['type'] ?>
</ul>
</form>
檢查move_uploaded_file:
$ret_value = move_uploaded_file($file_tmp,"./photo/".$file_name);
if ($ret_value == false) die ("Ups! Couldn't actually move the temp file! No success at all.");
如果返回的是false(錯誤),則實際上無法從臨時文件中移出該文件,並且您仍然會收到“成功”消息,因為不會出現異常。
如果遇到錯誤,也許可以通過將文件移動到實際的現有目錄中來進行修復。
move_uploaded_file($file_tmp,"./poi/photo/".$file_name);
您上傳的圖片將清除所有驗證。
但是,您沒有將其存儲在正確的路徑中:
更改:
move_uploaded_file($file_tmp,"./photo/".$file_name);
至:
move_uploaded_file($file_tmp,"./poi/photo/".$file_name);
另外,對目錄poi
施加寫權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.