Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie CURL, um Dateien auf den Server hochzuladen

Verwenden Sie CURL, um Dateien auf den Server hochzuladen

巴扎黑
巴扎黑Original
2016-11-22 16:58:261680Durchsuche

1. Clientseitiger PHP-Code

<?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. Serverseitiger Code

<?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. Hochladen über die Webseite

<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>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:phpExcel liest Excel-DateienNächster Artikel:phpExcel liest Excel-Dateien