0
<?php
// open the current directory
$dhandle = opendir('.');
// define an array to hold the files
$files = array();
if ($dhandle) {
// loop through all of the files
while (false !== ($fname = readdir($dhandle))) {
// if the file is not this file, and does not start with a '.' or '..',
// then store it for later display
if (($fname != 'index.htm') && ($fname != 'torcache.php')&& ($fname != 'error_log') && (substr($fname, 0, 5) != 'other') && (substr($fname, 0, 2) != 'dd') &&
($fname != basename($_SERVER['PHP_SELF']))) {
// store the filename
$files[] = (is_dir("./$fname")) ? "(Dir) {$fname}" : $fname;
}
}
// close the directory
closedir($dhandle);
}
function curl_upload($url,$fileFormAttribute,$file){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_REFERER, 'https://torcache.net/');
curl_setopt($ch,CURLOPT_ENCODING,"gzip");
curl_setopt($ch, CURLOPT_POST, true);
$post = array($fileFormAttribute=>"@".$file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
return $response;
}
foreach($files as $fname)
{
error_reporting(E_ALL);
$upload_result = curl_upload('http://torcache.net/autoupload.php','torrent','public_html/download_folder/'.$files[0]);
}
var_dump($upload_result);
?>
循環當我運行此腳本只在陣列中張貼的第一個項目,而不是通過整個陣列 我在做什麼錯循環的?我想讓它遍歷dir中的所有文件,然後將它們發佈到torcache然後將字符串返回給我;捲曲不通過這個數組
從頭開始,錯誤的行(+1) – ametren
他也沒有檢查(再次)看它是否實際上是一個文件。填充數組的循環並不總是包含有效的文件名。 '$ files [] =(is_dir(「./$fname」))? 「(Dir){$ fname}」:$ fname;' – hafichuk
@Scott Saunders我使用該代碼,現在發生的事情是它只上載目錄中的第一個文件, –