最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實現(xiàn)通過CURL上傳文件功能示例

 更新時間:2018年05月30日 10:53:30   作者:blueel  
這篇文章主要介紹了PHP實現(xiàn)通過CURL上傳文件功能,結合實例形式分析了php使用curl文件上傳操作相關屬性設置與使用技巧,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)通過CURL上傳文件功能。分享給大家供大家參考,具體如下:

PHP使用CURL上傳文件只需發(fā)送一個POST請求就可以了,在請求中設置某個字段為需要上傳的文件全路徑,并且以"@"開頭,然后使用CURL把該變量以POST方式發(fā)送到服務器,在服務端即可以從超級全局變量$_FILES中取到相應的上傳文件信息。

下面我們以一個例子來展示這個過程。

假設本地有一個文本文件log.txt,其路徑為"/www/test/log.txt",內(nèi)容如下:

this is a file for test
hello PythonTab!

為了把這個文件上傳給服務端的腳本http://yourwebname.com/upload.php,我們在本地寫了一個名為curl_file.php的腳本,內(nèi)容如下:

<?php
$url = "http://yourwebname.com/upload.php";
$post_data = array(
"foo" => "bar",
//要上傳的本地文件地址
"upload" = > "@/www/test/log.txt"
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>

curl_file.php的邏輯很簡單,設置POST變量$post_data,其中upload指向需要發(fā)送的文件。這里要注意,我們之前使用POST都是發(fā)送一個字符串,然后在服務器端使用file_get_contents("php//input")來獲取該字符串,和這里的用法不一樣,其實POST也可以像GET一樣,發(fā)送鍵值對。在服務端有一個超級全局變量$_POST可以像$_GET一樣,獲取相應的POST數(shù)據(jù)的值。需要注意的是,上傳文件的變量不是存在著$_POST中,而是在$_FILES中。

為了展示服務端收到上述代碼的文件上傳請求的邏輯,我們在upload.php中寫了以下代碼:

<?php
echo var_export($_FILES,true);
echo file_get_contents($_FILES['upload']['tmp_name']);
copy($_FILES['upload']['tmp_name'], "./log_copy.txt");
?>

upload.php首先使用var_export$_FILES變量輸出到標準輸出,然后使用file_get_contents讀取$_FILES['upload']['tmp_name']所指文件的內(nèi)容,并輸出到標準輸出,然后把$_FILES['upload']['tmp_name']所指文件自制到當前目錄的log_copy.txt文件中。該腳本的標準輸出如下:

array(
'upload' =>
array(
'name' => 'log.txt',
'type' => 'application/octet-stream',
'tmp_name' => '/tmp/phpLUB59F',
'error' => 0,
'size' => 36,
)
)
this is a file for test
hello PythonTab!

可以看到$_FILES變量中有一個upload數(shù)組,對應到上傳文件描述信息,其中name和type分別表示名稱和類型。tmp_name比較關鍵,服務端在接收到上傳文件之后,會把文件寫在一個臨時文件中,這個臨時文件的名字就是tmp_name的值,這也是為什么我們讀取該文件可以獲取一log.txt的文件內(nèi)容。一般在服務端接收到上傳文件后都需要立即讀取該文件或者把文件復制到別外一個文件中,因為tmp_name所指的臨時文件在服務端腳本執(zhí)行完畢后會被刪除掉,upload.php腳本的最后一行就是把臨時文件復制到我們的目標文件中。

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結》、《PHP網(wǎng)絡編程技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》及《PHP運算與運算符用法總結

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

相關文章

  • PHP中去掉字符串首尾空格的方法

    PHP中去掉字符串首尾空格的方法

    今天在做php的時候需要將字符串首尾的空格去掉,百度一下發(fā)現(xiàn)php就自帶這個函數(shù)trim,果然方便多了,特分享下
    2012-05-05
  • 關于PHP通用返回值設置方法

    關于PHP通用返回值設置方法

    下面小編就為大家?guī)硪黄P于PHP通用返回值設置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • php使用curl詳細解析及問題匯總

    php使用curl詳細解析及問題匯總

    CURL是一個非常強大的開源庫,支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來發(fā)送HTTP請求。它給我 們帶來的好處是可以通過靈活的選項設置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動選擇是否加密發(fā)送內(nèi)容。
    2016-08-08
  • PHP判斷文章里是否有圖片的簡單方法

    PHP判斷文章里是否有圖片的簡單方法

    這篇文章主要介紹了PHP判斷文章里是否有圖片的方法,很實用的功能,需要的朋友可以參考下
    2014-07-07
  • php異常與錯誤處理機制概念及使用介紹

    php異常與錯誤處理機制概念及使用介紹

    在php中,可以利用異常處理類“Exception”中內(nèi)置的各種成員函數(shù)來獲取并返回異常數(shù)據(jù),例如getMessage()函數(shù)就可以返回異常的消息內(nèi)容;也可以通過“try?catch”語句和“throw”關鍵字來捕獲程序中的異常
    2022-09-09
  • 詳解PHP對數(shù)組的定義以及數(shù)組的創(chuàng)建方法

    詳解PHP對數(shù)組的定義以及數(shù)組的創(chuàng)建方法

    這篇文章主要介紹了PHP對數(shù)組的定義以及數(shù)組的創(chuàng)建方法,PHP中具有傳統(tǒng)編譯型語言那樣的數(shù)組和多維數(shù)組,需要的朋友可以參考下
    2015-11-11
  • php通過exif_read_data函數(shù)獲取圖片的exif信息

    php通過exif_read_data函數(shù)獲取圖片的exif信息

    這篇文章主要介紹了php通過exif_read_data函數(shù)獲取圖片的exif信息,默認情況下,PHP讀取圖片Exif信息模塊是不開啟的,我們需要先開啟這個模塊。開啟Exif模塊需要mbstring支持,這里就不詳細說明了,我們來先看下函數(shù)的用法
    2015-05-05
  • PHP處理postfix郵件內(nèi)容的方法

    PHP處理postfix郵件內(nèi)容的方法

    這篇文章主要介紹了PHP處理postfix郵件內(nèi)容的方法,涉及php讀取、正則匹配郵件內(nèi)容的相關技巧,需要的朋友可以參考下
    2015-06-06
  • php格式輸出文件var_export函數(shù)實例

    php格式輸出文件var_export函數(shù)實例

    這篇文章主要介紹了php格式輸出文件var_export函數(shù),以實例形式講述了格式輸出函數(shù)var_export的特性與具體用法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • 詳解WordPress開發(fā)中wp_title()函數(shù)的用法

    詳解WordPress開發(fā)中wp_title()函數(shù)的用法

    這篇文章主要介紹了WordPress開發(fā)中wp_title()函數(shù)的用法,wp_title可以用來顯示文章標題和分類名稱等,需要的朋友可以參考下
    2016-01-01

最新評論

宣威市| 水城县| 永济市| 东辽县| 静海县| 淅川县| 家居| 平塘县| 平阴县| 门源| 汉川市| 高碑店市| 荥经县| 香河县| 长沙市| 青河县| 拜泉县| 合作市| 芒康县| 林口县| 丁青县| 永福县| 柘城县| 马山县| 周口市| 嘉峪关市| 寿宁县| 桐乡市| 江山市| 濮阳市| 全南县| 通河县| 丽江市| 淮滨县| 密云县| 裕民县| 武汉市| 玉门市| 华坪县| 东丽区| 登封市|