亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP接收App端發(fā)送文件流的方法

 更新時(shí)間:2016年09月23日 14:38:19   作者:山貓的博客  
這篇文章主要介紹了PHP接收App端發(fā)送文件流的方法,涉及php基于curl的文件傳輸操作相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP接收App端發(fā)送文件流的方法。分享給大家供大家參考,具體如下:

解決思路:

1. 客戶端多張圖片進(jìn)行循環(huán)上傳,同時(shí)附帶參數(shù),并用一定規(guī)則組合生產(chǎn)數(shù)據(jù)流(圖片數(shù)據(jù)放在最后)
2. 使用數(shù)據(jù)流進(jìn)行傳輸,php服務(wù)端用file_get_content('php://input')進(jìn)行接收
3. 傳輸完畢后將數(shù)據(jù)流按照規(guī)則分割,取出最后的圖片數(shù)據(jù),并寫入圖片文件

示例代碼:

以下代碼是發(fā)送單張圖片和參數(shù)PHP文件,多張圖片可循環(huán)調(diào)用。

<?php
/* curl_post.php */
// 設(shè)置請(qǐng)求的POST地址,必須是包含網(wǎng)址的域名,不能是相對(duì)路徑
$url = 'http://www.xxx.com/post.php';
$pic_data = file_get_contents('./me.jpg');
$data = [
  'username=chafang_'.rand(100, 999),
  'password='.md5('123456'),
  'pic=' => $pic_data, // 這里存放圖片數(shù)據(jù)
];
// 使用 '#####' 進(jìn)行分割數(shù)組
$strData = implode('#####', $data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
//設(shè)置頭文件的信息作為數(shù)據(jù)流輸出
curl_setopt($curl, CURLOPT_HEADER, 0);
//設(shè)置獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $strData);
$data = curl_exec($curl);
curl_close($curl);
// 顯示post的返回值
echo ($data);

接收curl請(qǐng)求的PHP文件,返回json格式

<?php
/* post.php */
$content = file_get_contents("php://input");
$domain = 'http://www.xxx.com/';
// 注意這里需要有寫權(quán)限
$filename = 'update/'.time().'_'.rand(100000, 999999).'.jpg';
$data = explode('#####', $content, 3);
$count = count($data);
$result = [];
// 如果文件寫入成功
if (file_put_contents($filename, $data[$count - 1]))
{
  // 刪除數(shù)據(jù)中最后一個(gè)元素(就是圖片)
  unset($data[$count - 1]);
  foreach ($data as $val)
  {
    // 返回參數(shù),且參數(shù)值不能存在 '=' 號(hào)
    $tmp = explode('=', $val, 2);
    $result[$tmp[0]] = $tmp[1];
  }
  // 組合圖片訪問地址
  $result['pic'] = $domain.$filename;
}
echo json_encode($result);

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《php文件操作總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 24條貨真價(jià)實(shí)的PHP代碼優(yōu)化技巧

    24條貨真價(jià)實(shí)的PHP代碼優(yōu)化技巧

    這篇文章主要為大家分享了24條貨真價(jià)實(shí)的PHP代碼優(yōu)化技巧,幫助大家更好的進(jìn)行PHP項(xiàng)目開發(fā),感興趣的小伙伴們可以參考一下
    2016-07-07
  • php支付寶接口用法分析

    php支付寶接口用法分析

    這篇文章主要介紹了php支付寶接口用法,以實(shí)例形式較為詳細(xì)的分析了php支付寶接口的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 在字符串指定位置插入一段字符串的php代碼

    在字符串指定位置插入一段字符串的php代碼

    在字符串指定位置插入一段字符串
    2010-02-02
  • 淺談thinkphp的實(shí)例化模型

    淺談thinkphp的實(shí)例化模型

    這篇文章主要簡單介紹了thinkphp的實(shí)例化模型的幾種方法,以及他們之間的使用要點(diǎn),非常不錯(cuò),推薦給大家。
    2015-01-01
  • PHP中PCRE正則解析代碼詳解

    PHP中PCRE正則解析代碼詳解

    在本篇文章里小編給大家分享了關(guān)于PHP中PCRE正則解析的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • PHP實(shí)現(xiàn)重載的常用方法實(shí)例詳解

    PHP實(shí)現(xiàn)重載的常用方法實(shí)例詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)重載的常用方法,結(jié)合實(shí)例形式對(duì)比java分析了php實(shí)現(xiàn)重載的四種常見實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-10-10
  • PHP 快速排序算法詳解

    PHP 快速排序算法詳解

    其實(shí)快速排序之所以稱之快速,就是因?yàn)?,冒泡排序是每次?duì)比只交換相鄰的兩個(gè)值的位置,這樣每個(gè)值要移動(dòng)到它最終的排序結(jié)果中所對(duì)應(yīng)的位置,可能需要很多次位置的變化。但是快速排序可在一次劃分中,就確定你選定的那個(gè)對(duì)比值在最終排序好的隊(duì)列中的位置。
    2014-11-11
  • 詳解PHP錯(cuò)誤日志的獲取方法

    詳解PHP錯(cuò)誤日志的獲取方法

    在php中我們會(huì)經(jīng)常碰到一些錯(cuò)誤要去處理,下面我來總結(jié)php中的錯(cuò)誤報(bào)告及日志的獲取方法等方面的內(nèi)容做一些總結(jié),需要的朋友可以參考下。
    2015-07-07
  • 學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)建造者模式

    學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)建造者模式

    這篇文章主要介紹了php設(shè)計(jì)模式中的建造者模式,使用php實(shí)現(xiàn)建造者模式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • php7下安裝event擴(kuò)展方法

    php7下安裝event擴(kuò)展方法

    下面小編就為大家分享一篇php7下安裝event擴(kuò)展方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論