写了一个简单的html/php上传的网页,在安卓和电脑上都正常,但ipad上都有问题,即图片上传名称都自动变成image.jpg
ipad的safari或chrome都是这样的问题。
<code>html</code><code><!--表单--> <div id="upload"> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file"> <br> <input type="submit" name="submit" value="Submit"> </form> </div> </code>
<code>php</code><code>// upload_file.php <?php error_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"] < 20000000)) { if ($_FILES["file"]["error"] > 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的safari或chrome都是这样的问题。
<code>html</code><code><!--表单--> <div id="upload"> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file"> <br> <input type="submit" name="submit" value="Submit"> </form> </div> </code>
<code>php</code><code>// upload_file.php <?php error_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"] < 20000000)) { if ($_FILES["file"]["error"] > 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.安卓和浏览器上传都正常。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

React通過JSX與HTML結合,提升用戶體驗。 1)JSX嵌入HTML,使開發更直觀。 2)虛擬DOM機制優化性能,減少DOM操作。 3)組件化管理UI,提高可維護性。 4)狀態管理和事件處理增強交互性。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7
