ipad的safari或chrome都是这样的问题。
<code>html</code><code><!---ecms -ecms 表单--><div id="upload"> <label for="file">Filename:</label> <br /> </div></code>
<code>php</code><code>// upload_file.php<?phperror_reporting(E_ERROR| E_PARSE);session_start();$name=$_SESSION["free_print_name"];$phone=$_SESSION["free_print_phone"];if (!file_exists("/var/www/upload_files/".$phone)) { mkdir("/var/www/upload_files/".$phone);}$DIR="/var/www/upload_files/".$phone."/";$temp_array=explode('.', $_FILES["file"]["name"]);$postfix=$temp_array[count($temp_array)-1];if ( ($postfix=="pdf" || $postfix == "doc" || $postfix == "docx" || $postfix == "rtf" || $postfix == "ppt" || $postfix == "jpg" || $postfix == "jpeg" || $postfix == "png" || $postfix == "psd") && ($_FILES["file"]["size"] 0) { // echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists($DIR . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; header('Location: http://59.78.7.9/index.html'); } else { move_uploaded_file($_FILES["file"]["tmp_name"], $DIR. $_FILES["file"]["name"]); echo "Stored in: " . $DIR . $_FILES["file"]["name"]; header('Location: http://59.78.7.9/inde<i style="color:transparent">@本文来源gaodai$ma#com搞$代*码6网</i><b>搞代gaodaima码</b>x.html'); } }} else { echo "Invalid file, you can't upload files of ".$postfix;}?></code>
回复内容:
ipad的safari或chrome都是这样的问题。
<code>html</code><code><!---ecms -ecms 表单--><div id="upload"> <label for="file">Filename:</label> <br /> </div></code>
<code>php</code><code>// upload_file.php<?phperror_reporting(E_ERROR| E_PARSE);session_start();$name=$_SESSION["free_print_name"];$phone=$_SESSION["free_print_phone"];if (!file_exists("/var/www/upload_files/".$phone)) { mkdir("/var/www/upload_files/".$phone);}$DIR="/var/www/upload_files/".$phone."/";$temp_array=explode('.', $_FILES["file"]["name"]);$postfix=$temp_array[count($temp_array)-1];if ( ($postfix=="pdf" || $postfix == "doc" || $postfix == "docx" || $postfix == "rtf" || $postfix == "ppt" || $postfix == "jpg" || $postfix == "jpeg" || $postfix == "png" || $postfix == "psd") && ($_FILES["file"]["size"] 0) { // echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists($DIR . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; header('Location: http://59.78.7.9/index.html'); } else { move_uploaded_file($_FILES["file"]["tmp_name"], $DIR. $_FILES["file"]["name"]); echo "Stored in: " . $DIR . $_FILES["file"]["name"]; header('Location: http://59.78.7.9/index.html'); } }} else { echo "Invalid file, you can't upload files of ".$postfix;}?></code>
- 这就对了。ipad里的照片根本就没有“文件名”这个概念。
- 存储文件时也不要文件名一样就丢弃啊……文件存储又不是抢占式的……
- 同名文件加后缀,或者干脆整个文件计算SHA-1后用校验值做文件名。
- 判断文件类型不能依赖文件的扩展名,而要使用
exif_imagetype()
函数检查实际文件头。
请问这个问题怎么解决的?我是苹果手机上传图片名称默认就改成了image.jpg. 我们用的是HTML5.安卓和浏览器上传都正常。