采集的抓取图片和图片上传

php采集图片,当参数名为"@绝对路径",这时 CURL 會幫你做 multipart/form-data 編碼

$img = file_get_contents('https://image.talicai.com/YmQzY2MyNWE4NGMzYjlhODA4ZTZiYTIyOTg1ZjRiMWM');
file_put_contents('C:/test/1.jpg', $img);

(PHP 5 <= 5.5.0)

$params = array(
    'file' => '@/Pictures/753161072647248225.jpg',
    'file_1' => '@/Pictures/753161072647248225.jpg',
    'file_2' => '@/Pictures/753161072647248225.jpg',
);

$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $params );
$response = curl_exec($ch);

 

 

使用 CURLFile 类来处理文件,如下:(PHP 5 >= 5.5.0, PHP 7)

$url = 'http://127.0.0.1/test3.php';
$file = __DIR__ .'/0634134726bc5b8b.jpg';
$data = array('mypic'=>new CURLFile($file));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$content = curl_exec($curl);
curl_close($curl);
print_r($content);

 

还可以这样写

< form action =“< ;?php echo $ _SERVER ['PHP_SELF'];?>“ method =“post”enctype =“multipart / form-data”> 
< label for =“file”>文件名:< / label> < input type =“file”name =“Filedata”id =“Filedata”/> 
< br /> 
< input type =“submit”name =“submit”value =“Submit”/> 
< / form> 
 
<?php 
 if($ _POST ['submit']){
 $ uploadDir =“/ uploads /”; 
 $ RealTitleID = $ _FILES ['Filedata'] ['name']; 
 $ ch = curl_init(“http://www.remotesite.com/upload.php”); 
 curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true); 
 curl_setopt($ ch,CURLOPT_POST,1); 
 curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true); 
 $ args ['file'] = new CurlFile($ _ FILES ['Filedata'] ['tmp_name'],'file / exgpd',$ RealTitleID); 
 curl_setopt($ ch,CURLOPT_POSTFIELDS,$ args); 
 $ result = curl_exec($ ch); 
} 
?> 

  

posted @ 2018-03-07 16:55  matengfei  阅读(682)  评论(0编辑  收藏  举报