PHPリモートアップロード画像及びファイル
1986 ワード
1.phpで環境を設定する必要がある.iniファイルにextension=php_を追加curl.dll(私がインストールしたapacheはD:ディスク私のphp.iniパスはD:xamppphp
2 apacheを再起動phpinfo()を見て、正常に構築されたかどうかを確認します!(apacheトップページの左側のメニューでphpinfo()を表示できます)
3.コード例:
下に2つのPHPファイルがあります.私のローカルテストではciフレームワークを使用しています.ビューを通じてファイルをアップロードし、PHP 1のrequest_を呼び出します.by_curl関数、$FILES関数はファイルの名前とパスを入力します
PHP 2つまりリモートサーバのphpファイルは、php 1が実行されるとcurlライブラリでPHP 2が実行されるので、実はPHP 2は別の場所だけを受信して保存すればよいのです
2 apacheを再起動phpinfo()を見て、正常に構築されたかどうかを確認します!(apacheトップページの左側のメニューでphpinfo()を表示できます)
3.コード例:
下に2つのPHPファイルがあります.私のローカルテストではciフレームワークを使用しています.ビューを通じてファイルをアップロードし、PHP 1のrequest_を呼び出します.by_curl関数、$FILES関数はファイルの名前とパスを入力します
PHP 2つまりリモートサーバのphpファイルは、php 1が実行されるとcurlライブラリでPHP 2が実行されるので、実はPHP 2は別の場所だけを受信して保存すればよいのです
/**
PHP 1( php )
file_url 、uri name ,
php ,
$file_uri = $_FILES ['filed'] ['name'];
$file_url = $_FILES ['filed'] ['tmp_name'];
**/
public function request_by_curl( $file_url,$file_uri )
{
$curl = curl_init();
//
$data = array('filed'=>'@'.$file_url,'nam' =>$file_uri,);
// + ( )
// ,,
curl_setopt($curl, CURLOPT_URL, "http://192.168.87.2/file/");
//
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);
curl_close($curl); /* */
echo json_decode($result);
}
/* PHP 2( php ) php curl */ public function Fileload() { if($_FILES) { $filename = $_FILES['filed']['name']; $tmpname = $_FILES['filed']['tmp_name']; $url = dirname(__FILE__)."\\img\\"; if( move_uploaded_file($tmpname,$url.$_POST['nam']) ) { echo json_encode(' '); } else { $data = json_encode($_FILES); echo $data." "; } } }
付加的なスキル、socketやswooleに興味のある研究の下で、私も最近発見したばかりですが、これらを知る前にTCPプロトコル(protobufはデータとして伝送されている)を理解したほうがいいです.