CURL を使用してファイルをサーバーにアップロードする

巴扎黑
リリース: 2016-11-22 16:58:26
オリジナル
1660 人が閲覧しました

1. クライアント側の PHP コード

<?php
//初始化一个句柄
$ch = curl_init();
//设置访问地址
curl_setopt($ch, CURLOPT_URL, "http://cq01-testing-lv01.vm.baidu.com:8808/mobile/uploadclient");
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//参数设置,是否显示头部信息,1为显示,0为不显示
curl_setopt($ch, CURLOPT_HEADER, 0);
//伪造网页来源地址,伪造来自百度的表单提交
//curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");
//设置这个是POST请求
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
//furl中的值必须以@符号开头,@后面是你的相对或者绝对路径
$furl="@./a.php";
$post_data = array (
    "client_file" => $furl
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_exec($ch);
if(FALSE === curl_exec($ch)){
    echo "cUrl Error:".curl_error($ch);
}else{
    echo "upload success";
}
//释放cURL句柄
curl_close($ch);
ログイン後にコピー

2. サーバー側のコード

<?php
if(!isset($_FILES[&#39;client_file&#39;]) || $_FILES[&#39;client_file&#39;][&#39;error&#39;] > 0){
            $arrRet[&#39;error_no&#39;] = -1;
            $arrRet[&#39;data&#39;] = $arrRet[&#39;data&#39;] = array(
                &#39;msg&#39; => "upload file failed",
            );
        }
$arrInput = array(
                &#39;filename&#39; => $_FILES[&#39;client_file&#39;][&#39;name&#39;],
                &#39;tmp_name&#39; => $_FILES[&#39;client_file&#39;][&#39;tmp_name&#39;],
                &#39;type&#39; => $_FILES[&#39;file&#39;][&#39;type&#39;],
            );
move_uploaded_file($arrInput[&#39;tmp_name&#39;],ROOT_PATH."/data/app/client/bin/".$arrInput[&#39;filename&#39;]);
ログイン後にコピー

3. Web ページを使用してアップロードします

<form action="/upload.php" method="post" enctype="multipart/form-data">
                <label>上传文件: <input name="client_file" type="file"/></label>
                <input name="submit" type="submit" value="提交"/>
</form>
ログイン後にコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート