<?
$ftp_server = "name.info";
$ftp_user = "user";
$ftp_pass = "pass";
// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass))
{
ftp_chdir($conn_id, 'public_html/');
$contents = ftp_nlist($conn_id, '-la .');
print_r($contents);
foreach($contents as $line){
$file = preg_split('@\[email protected]', trim($line));
$name = $file[8];
$size = $file[4];
$mode = $file[0];
if(substr($mode, 0, 1) == '-'){
//file
$fd = fopen('d/'.$name, 'w');
ftp_fget ($conn_id, $fd, $name, FTP_BINARY);
fclose($fd);
}else{
//dir
}
}
}
else
die ("Couldn't connect as $ftp_user\n");
?>
すべてのpublic_htmlフォルダを取得します。私はそれを圧縮することができれば完璧だろう。私は何かを書こうとしましたが、それらのファイルをコピーしません。私は何が欠けていますか?FTPからのZipフォルダ
<?
exec("zip -R public_html.zip /home/username/public_html",$output);
?>
希望:あなたは、単にのようなシェルからのzipコマンドを実行するには、exec()を使用することができ
どうしたらうまくいかないのですか? – thetaiko
@thetaiko:ファイルを自分のディレクトリにコピーしません。 –
@hey ... right。具体的には動作しません。接続しますか?ログイン? fget?成功または失敗時にブール値を返す関数がここにたくさんあります。 – thetaiko