[英]Move_uploaded_file() function working on Linux server but not on Windows server
我有一個問題。 我創建了一個表格,人們可以從該表格申請工作。 我有3個字段,允許用戶上載簡歷,參考資料和其他材料。 這種形式在基於Linux的服務器上可以完美地工作。 將其上傳到Windows服務器時,出現以下錯誤:
Warning: move_uploaded_file(./application/D:\Temp\php\php945C.tmp_tumblr.png) [function.move-uploaded-file]: failed to open stream: Invalid argument in D:\Hosting\9664396\html\application.php on line 23
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Temp\php\php945C.tmp' to './application/D:\Temp\php\php945C.tmp_tumblr.png' in D:\Hosting\9664396\html\application.php on line 23
任何幫助,將不勝感激。
這是代碼:
if(isset($_FILES["photoToUpload"]['name'])){
$original_img_name = $_FILES["photoToUpload"]['name'];
} else {
$original_img_name = "";
}
$the_photo_url="None Uploaded";
if($original_img_name != ""){
$target = './application/';
$img_name = str_replace("&", "and", $original_img_name);
$img_name = preg_replace('/[^.a-zA-Z\d\s]+/s', '', $img_name);
$img_name = str_replace(' ', ' ', $img_name);
$img_name = str_replace(' ', '_', $img_name);
$img_name = str_replace("/", "", $_FILES["photoToUpload"]['tmp_name']) . "_" . $img_name;
move_uploaded_file($_FILES["photoToUpload"]['tmp_name'], $target . $img_name);
$the_photo_url = $target . $img_name;
}
這段代碼在基於Linux的主機上運行完美。
下一行是錯誤的,應在將tmp_name添加到$ img_name時將其刪除。
$img_name = str_replace("/", "", $_FILES["photoToUpload"]['tmp_name']) . "_" . $img_name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.