我創建了一個文件上傳form
script
但是當我嘗試將它用於iPhone
時它不起作用。當我的客戶端是iOS時,PHP upload image script form不起作用
我得到沒有錯誤,或者error code 0
當我var_dump
的代碼。如果我使用另一個平臺,如Android
,Windows Phone
或Desktop
,它會成功上傳文件。
我的代碼:
$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 1024*20000; //20 mb
$path = $_SERVER['DOCUMENT_ROOT'].'/beta/images/'; // Upload directory
$count = 0;
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to execute all files
foreach ($_FILES['files']['name'] as $f => $name) {
if ($_FILES['files']['error'][$f] == 4) {
continue; // Skip file if any error found
}
if ($_FILES['files']['error'][$f] == 0) {
if ($_FILES['files']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue; // Skip large files
}
elseif(! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)){
$message[] = "$name is not a valid format";
continue; // Skip invalid file formats
}
else{ // No error found! Move uploaded filesize
$info = getimagesize($_FILES["files"]["tmp_name"][$f]);
if ($info === FALSE) {
die("Unable to determine image type of uploaded file");
}
if (($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG)) {
die("Not a gif/jpeg/png");
}
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.time().'_'.$name))
$count++; // Number of successfully uploaded file
}
}
}
}
move_uploaded_file
功能return false
作爲$count
變量保持0
。
只有當我訪問iPhone
的文件上傳腳本時,它纔會上傳。
表單代碼:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input id="file" type="file" name="files[]" multiple="multiple" accept="image/*"/><Note: Supported image format: .jpeg, .jpg, .png, .gif (Size up to 2mb)<input type="submit" value="Upload!" id="selectedButton"/>
</form>
你的iOS應用程序和你的Android應用程序使用完全相同的代碼嗎?如果沒有,爲什麼不將代碼添加到您用於上傳的iOS? – 2017-03-05 15:19:05
我沒有使用應用程序。這是一個html格式。 – Ophitect