• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

写了一个简单的html/php上传的网页,在安卓和电脑上都正常,但ipad上都有问题,即图片上传名称都自动变成image.jpg

php 搞代码 3年前 (2022-01-25) 17次浏览 已收录 0个评论
文章目录[隐藏]

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>

  1. 这就对了。ipad里的照片根本就没有“文件名”这个概念。
  2. 存储文件时也不要文件名一样就丢弃啊……文件存储又不是抢占式的……
  3. 同名文件加后缀,或者干脆整个文件计算SHA-1后用校验值做文件名。
  4. 判断文件类型不能依赖文件的扩展名,而要使用exif_imagetype()函数检查实际文件头。

请问这个问题怎么解决的?我是苹果手机上传图片名称默认就改成了image.jpg. 我们用的是HTML5.安卓和浏览器上传都正常。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:写了一个简单的html/php上传的网页,在安卓和电脑上都正常,但ipad上都有问题,即图片上传名称都自动变成image.jpg
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址