欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

解決思路:

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

示例代碼:

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

<?php
/* curl_post.php */
// 設(shè)置請求的POST地址,必須是包含網(wǎng)址的域名,不能是相對路徑
$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ù)
];
// 使用 '#####' 進行分割數(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請求的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ù)中最后一個元素(就是圖片)
  unset($data[$count - 1]);
  foreach ($data as $val)
  {
    // 返回參數(shù),且參數(shù)值不能存在 '=' 號
    $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è)計算法總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《php正則表達式用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

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

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

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

    php支付寶接口用法分析

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

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

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

    淺談thinkphp的實例化模型

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

    PHP中PCRE正則解析代碼詳解

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

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

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

    PHP 快速排序算法詳解

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

    詳解PHP錯誤日志的獲取方法

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

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

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

    php7下安裝event擴展方法

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

最新評論