我已經寫了下面的代碼連接到FTP,這給了我一個錯誤「警告:的preg_match()[function.preg匹配]:未知的修飾詞‘P’」FTP用PHP下載多個文件
<?php
// define some variables
$ftp_server="www.abc.com";
$ftp_user_name="username";
$ftp_user_pass="password";
$local_file = 'L021-D8127-BLUEWASH-2T.jpg';
$server_file = '/abc/photos/L021-D8127-BLUEWASH-2T.jpg';
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//
//Enable PASV (Note: must be done after ftp_login())
//
$mode = ftp_pasv($conn_id, TRUE);
// get contents of the current directory
$contents = ftp_nlist($conn_id, "abc/photos");
// output $contents
//var_dump($contents);
foreach($contents as $file){
if(!preg_match("/L021-D8127-BLUEWASH-([1-9]|10)(T|S)\.jpg/i", $file)){
// continute if its not the file I want to download
continute;
}
// try to download file and save to $local_file
if (ftp_get($conn_id, $local_file, file, FTP_BINARY)) {
echo "Successfully written to $local_file\n";
}
else {
echo "There was a problem\n";
}
}
// close the connection
ftp_close($conn_id);
?>
論 「照片」 的服務器文件夾我有相同的圖像,但與像
L021-D8127-BLUEWASH-2T.jpg
L021-D8127-BLUEWASH-3T.jpg不同的名稱序列的多個實例
L021-D8127-BL UEWASH-4T.jpg
並以此類推,直到10T.jpg
而且同樣...
L021-D8127-BLUEWASH-2S.jpg
L021-D8127-BLUEWASH-3S.jpg
L021-D8127-BLUEWASH-4S.jpg
並以此類推,直到10S.jpg
我的問題是一個單一的FTP連接開豪我是否做..
1)檢查是否所有發生的L021-D8127-BLUEWASH-(1 t0 10)T.jpg & L021-D8127-BLUEWASH-(1 t0 10)S.jpg存在。
2)如果圖像存在下載所有匹配的文件
3)我不想同時使用20個FTP連接?
這是因爲你不是逃避'/'中的preg_match。我在回答評論中告訴過你。 – 2012-02-12 12:11:47