請教app上傳圖片,php如何接收處理 (用的TP)

來源:互聯網
上載者:User
網上查了好多資料,
有的用base64
有的用 $_FILES;
($_POST;
file_get_contents('php://input')

有沒有可以類比出來一個用戶端上傳, 然後 PHP後端處理完成的例子?
不是很明白原理,謝謝


回複討論(解決方案)

用tp本身內建的上傳類,不行嗎?改成介面

class UserAction extends Action{//添加public function add(){// var_dump(uniqid().(time().rand(0,100)));// die();import('ORG.Net.UploadFile');                        $upload = new UploadFile();// 執行個體化上傳類            $upload->maxSize  = 3145728 ;// 設定附件上傳大小            $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳類型            //$upload->saveRule = uniqid;//這個是改變圖片名稱的,可同時改變多張圖片的名稱,實現圖片的不同名 這樣也就不會出現覆蓋的現象了            $upload->saveRule='mytime';            $upload->savePath =  './Public/Uploads/';// 設定附件上傳目錄            if(!$upload->upload()) {// 上傳錯誤提示錯誤資訊                $this->error($upload->getErrorMsg());            }else{// 上傳成功 擷取上傳檔案資訊                $info =  $upload->getUploadFileInfo();            }            $user   =   M('user');            $user->create(); // 建立資料對象            $user->user_pic = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[0]['savename']; // 儲存上傳的照片根據需要自行組裝            $user->user_idcard = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[1]['savename'];            $user->user_card = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[2]['savename'];            //$user->piclink = "http://".$this->_server('HTTP_HOST').'/Public/Uploads/'.$info[0]['savename']; //                         //$user->time =  date('Y-m-d H:i:s',time());            $user->add();            // echo $flash->getlastsql();            // die();            $this->success("資料儲存成功!");  }

如何測試,必須用用戶端來提交嗎?好類比出資料來不?謝謝

我們的app上傳圖片使用http上傳的,我測試時,用的form表單,設定form屬性為enctype="multipart/form-data"
後台擷取用$_FILES就可以擷取了



怎麼看 app前端上傳圖片用的什麼格式啊? 請教

那就得問開發app的人怎麼上傳圖片的,一般都是http 表單上傳,也就是說,你用form表單的就能類比app上傳了
當然,你也可以,列印出$_FILES裡面的資料,若有,就表示擷取到了app上傳的圖片,沒有就失敗了唄

app上傳,php這邊接收不用改的,與網頁上傳一樣。
app那邊使用 content-disposition: form-data; 這種方式上傳就可以了。
參考: http://blog.csdn.net/fdipzone/article/details/12180523

根據APP的上傳方式來決定PHP端的擷取方式,多數都是表單式上傳。
$_FILES; file_get_contents('php://input')都可以。。

還有的是先在用戶端讀取了檔案內容,再base64編碼,再上傳。
比較簡單的大檔案斷點上傳,其實就可以這種【主要靠APP處理】。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.