Curl下载目录中的所有文件

时间:2015-03-16 17:44:38

标签: php curl

我正在使用PHP Curl从网址中抓取文件。目前文件名是硬编码的,我正在努力使其下载特定目录中的所有日志文件。正确方向上的任何一点都会很好。谢谢。

请注意我对目录有“读取”权限,我没有FTP访问权限或其他任何内容。

Server_url : http://192.168.2.45/logfiles/
Server : server1
Files in that directory : 140512 ... 150316.log and growing


<?php
$server_url = $_GET['server_url'];
$server = $_GET['server'];
//This needs to be changed to get all files
for($i = 140512; $i <= 150316; $i++) {

    $id = base64_encode($i);
    $file_name = $server_url.$i.'.log';
    curl_setopt($ch,CURLOPT_URL,$file_name);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return data as string

    // disable peer verification
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    // disable host verification
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    // spoof a real browser client string
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    $output = curl_exec($ch); // capture data into $output variable
    if(!dir('sites/'.$server.'_LOGS')){
        mkdir('sites/'.$server.'_LOGS');
    }
    if( $output != false){
        file_put_contents('sites/'.$server.'_LOGS'.'/u_ex' . base64_decode($id) . '.log', $output );
    }
    curl_close($ch);
}
?>

1 个答案:

答案 0 :(得分:0)

Curl支持ftp,你可以用它来获取文件列表,然后下载每个文件。我在前面的回答中使用php curl downloading all the files in a directory with cURL找到了一个例子。