ファイルアップロードを作成しましたform
script
iPhone
で使用しようとすると機能しません。クライアントがiOSの場合、PHPアップロードイメージスクリプトフォームが動作しません
私はエラーが発生しません。var_dump
コードを入力すると、error code 0
となります。 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にコードを追加してください。 –
私はアプリを使用していません。これはhtml形式です。 – Ophitect