使用curl和PHP保存文件

使用curl和PHP保存文件,php,xml,curl,Php,Xml,Curl,如何使用curl和PHP保存文件?您可以使用: <?php // create a new cURL resource $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLO

如何使用curl和PHP保存文件?

您可以使用:

<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
$out = curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);


$fp = fopen('data.txt', 'w');
fwrite($fp, $out);
fclose($fp);

?>

见:
你想要这样的东西吗

function get_file($file, $local_path, $newfilename) 
{ 
    $err_msg = ''; 
    echo "<br>Attempting message download for $file<br>"; 
    $out = fopen($local_path.$newfilename,"wb");
    if ($out == FALSE){ 
      print "File not opened<br>"; 
      exit; 
    } 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_FILE, $out); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_URL, $file); 

    curl_exec($ch); 
    echo "<br>Error is : ".curl_error ( $ch); 

    curl_close($ch); 
    //fclose($handle); 

}//end function 
$file
:要检索的对象的文件名

$local\u path
:是存储对象的目录的本地路径


$newfilename
:是本地系统上的新文件名

我认为curl有-o选项将输出写入文件,而不是stdout

在-o之后,必须提供输出文件的名称

例如:

curl -o path_to_the_file url curl-o路径\u到\u文件url
你确定你需要卷发吗?是文件获取内容(“”)还不够?我确信在14000个视图中,超过50%的视图没有发现
file\u get\u contents
足够这是用于命令行版本的curl,但不是PHP curl库。这将完成小文件的工作,但它会在保存之前将整个文件加载到内存中,因此如果文件它大于PHP的内存限制。Haim Evgi的答案正确地将文件流式传输到磁盘,从而避免了此问题。I
curl\u exec
直接插入
file\u put\u contents()
。它至少节省了3行代码。 curl -o path_to_the_file url