手动运行php脚本并返回到命令行?
问题描述:
我正在通过命令行运行一个php脚本,它工作得很好,除非它完成后,它不会返回到命令行?只是坐在那里,所以我从来没有当它这样做...手动运行php脚本并返回到命令行?
这是脚本:
$conn_id = ftp_connect(REMOTE)
or die("Couldn't connect to ".REMOTE);
$login_result = ftp_login($conn_id, 'OMITTED','OMITTED');
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");
$dir = 'download';
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir ($dir);
}
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else
ftp_get($conn_id, $file, $file, FTP_BINARY);
}
ftp_chdir ($conn_id, "..");
chdir ("..");
ftp_close($conn_id);
答
你错过了一些}
,一般一些代码格式使得它难以阅读。试试这个:
<?php
$conn_id = ftp_connect(REMOTE) or die("Couldn't connect to ".REMOTE);
$login_result = ftp_login($conn_id, 'OMITTED','OMITTED');
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");
$dir = 'download';
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir))) {
mkdir($dir);
chdir ($dir);
}
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
} else {
ftp_get($conn_id, $file, $file, FTP_BINARY);
}
}
ftp_chdir ($conn_id, "..");
chdir ("..");
ftp_close($conn_id);
}
我也强烈建议采用某种形式的编码标准。 PEAR Coding Standards是一个很好的开始
+0
你可能会或可能不需要在开始时使用' catsby 2010-06-09 14:07:46
答
如果它没有返回到命令行然后它在某种无限循环然后。
尝试添加'exit();'到脚本的末尾?只是一个猜测... – 2010-06-09 13:43:15