我正在使用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);
}
?>
答案 0 :(得分:0)
Curl支持ftp,你可以用它来获取文件列表,然后下载每个文件。我在前面的回答中使用php curl downloading all the files in a directory with cURL找到了一个例子。