摘要:本示例將演示一個簡單的上傳圖片到遠程服務器,然后生成圖片路徑后通過提交的回調路徑返回給本地服務器,最后將圖片地址顯示在前端頁面。若將去掉還會看到服務器的返回信息。
本示例將演示一個簡單的上傳圖片到遠程服務器,然后生成圖片路徑后通過提交的回調路徑返回給本地服務器,最后將圖片地址顯示在前端頁面。
本項目應用三個文件,即前端選取圖片的頁面,然后提交圖片到遠程服務器處理文件,返回前端頁面的回調文件。
一、前端上傳圖片頁面upload_test.html
Upload Image
封面圖URL: | * |
---|
這里需要注意當回調頁面返回圖片地址到前端頁面時,需要iframe標簽(這里我們將其隱藏),否則將會找不到要在頁面顯示的地方 。
和一般的。
而如果設置為iframe的name值,即"post_frame"的話,就會在該iframe內打開,因為CSS設置為隱藏,因而不會有任何動靜。若將display:none去掉,還會看到服務器的返回信息。
上傳文件時,form表單的method、 enctype屬性必須和上面的代碼一樣,然后將target的值設為iframe的name,這樣就可以實現無刷新上傳文件。
當選擇圖片提交時,還有一個隱藏域,即給遠程服務器提交圖片時,還需要提交回調路徑,好讓圖片返回給本地服務器。(這里我們都是用本地服務器來進行測試)
二、遠程服務器圖片處理
upload_action.php
0) { $msg = "傳入參數錯誤" . $file["error"] . " "; exit($msg); } else { // chmod($uploadPath, 0666); if(file_exists($uploadPath.$file["name"])){ $msg = $file["name"] . "文件已經存在!"; exit($msg); } else { if(move_uploaded_file($file["tmp_name"], $uploadPath.$file["name"])) { $img_url = "http://localhost/url_test/".$uploadPath.$file["name"]; $img_url = urlencode($img_url); $url = $callbackUrl."?img_url={$img_url}"; // 跳轉 header("location:{$url}"); exit(); } else { exit("上傳失??!"); } } }
圖片上傳到到該頁面后,保存并返回圖片地址給回調頁面。
三、回調頁面返回圖片地址到前端頁面回調頁面獲取到遠程服務器傳來的圖片地址后,經過"window.parent.XXX"返回給前端頁面。
callback.php
window.parent.document.getElementById("cover_img_url").value="{$img_url}"; ";
如果我們的前端頁面upload_test.html沒有iframe標簽,則不會返回找到ID為“cover_img_url”的輸入框的值,會跳轉到空白頁。
四、上傳到服務器的文件寫入日志記錄寫入日志: $file = $this->file = $_FILES[$this->fileField]; // 要寫入文件的文件名(可以是任意文件名),如果文件不存在,將會創建一個 $log_file = "../log/log.txt"; $time = date("Y-m-d H:i:s", time()); $log_content = var_export($_FILES, true) ."Time:{$time} "; file_put_contents($log_file, $log_content, FILE_APPEND); // 結果記錄 array ( "name" => "myImage.jpg", "type" => "image/jpeg", "tmp_name" => "/Applications/XAMPP/xamppfiles/temp/phpod5VA4", "error" => 0, "size" => 249318, ) array ( "file" => array ( "name" => "myImage.jpg", "type" => "image/jpeg", "tmp_name" => "/Applications/XAMPP/xamppfiles/temp/phppRvcVe", "error" => 0, "size" => 249318, ), )Time:2016-09-10 17:32:30
其他上傳相關示例:
php+ajax實現圖片文件上傳功能實例
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30433.html
摘要:背景最近有需求下載頭像到本地,以文件形式上傳到第三方,遇坑就填第一版將獲取的信息以字符串返回,而不是直接輸出因為要寫文件啟用時會將頭文件的信息作為數據流輸出適合調試配置手冊文檔地址配置項需要什么翻著找找遇到幾個問題部分圖片所在主站防盜鏈機制 背景 最近有需求下載頭像到本地,以文件形式上傳到第三方,遇坑就填 curl 第一版 $ch = curl_init(); curl_setopt_...
摘要:七夕啦,作為開發,妹子沒得撩就撩下服務器吧,妹子有得撩的同學那就左擁妹子右抱服務器吧,況且妹子是要禮物的,服務器又不用。下面我們來看一些常用的情景,我們需要如何打扮自己配置參數才能正確撩妹正確撩到服務器。 七夕啦,作為開發,妹子沒得撩就撩下服務器吧,妹子有得撩的同學那就左擁妹子右抱服務器吧,況且妹子是要禮物的,服務器又不用。好啦,長話短說再長說,祭出今天的工具——CURL(Client...
摘要:第三種,使用格式,即在中請求參數處理跨域問題當然請求方式只能是。最后發現有網友說版本不穩定引起的,于是把百度地圖回退到了,結果還真是可以了。請問在移動端頁面中播放優酷里面的視頻,怎樣實現 1.web掃碼登錄怎么實現,思路 步驟 WEB平臺 手機 第1步 生成二維碼 第2步 (ajax監控后臺) 掃碼 第3步 ...
閱讀 2368·2021-11-18 10:07
閱讀 2318·2021-09-22 15:59
閱讀 3077·2021-08-23 09:42
閱讀 2276·2019-08-30 15:44
閱讀 1191·2019-08-29 15:06
閱讀 2303·2019-08-29 13:27
閱讀 1210·2019-08-29 13:21
閱讀 1412·2019-08-29 13:13