首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在使用PHP时获取FTP错误

如何在使用PHP时获取FTP错误
EN

Stack Overflow用户
提问于 2008-11-11 04:35:07
回答 4查看 45.4K关注 0票数 24

我有一个脚本,登录到远程服务器,并尝试重命名文件,使用PHP。

代码目前类似于php.net网站上的示例:

代码语言:javascript
复制
if (ftp_rename($conn_id, $old_file, $new_file)) {
 echo "successfully renamed $old_file to $new_file\n";
} else {
 echo "There was a problem while renaming $old_file to $new_file\n";
}

但是..。错误是什么?权限,没有这样的目录,磁盘已满?

如何让PHP返回FTP错误?如下所示:

代码语言:javascript
复制
echo "There was a problem while renaming $old_file to $new_file: 
the server says $error_message\n";
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-11 04:39:48

请看这里的FTP API:

http://us.php.net/manual/en/function.ftp-rename.php

除了正确或错误之外,似乎没有任何方法可以得到任何东西。

但是,您可以使用ftp_raw发送一个原始的重命名命令,然后解析返回的消息。

票数 11
EN

Stack Overflow用户

发布于 2012-01-13 16:44:11

如果返回值为false,则可以使用error_get_last()。

票数 38
EN

Stack Overflow用户

发布于 2012-10-16 16:29:11

我正在做一些类似的事情:

代码语言:javascript
复制
$trackErrors = ini_get('track_errors');
ini_set('track_errors', 1);
if (!@ftp_put($my_ftp_conn_id, $tmpRemoteFileName, $localFileName, FTP_BINARY)) {
   // error message is now in $php_errormsg
   $msg = $php_errormsg;
   ini_set('track_errors', $trackErrors);
   throw new Exception($msg);
}
ini_set('track_errors', $trackErrors);

编辑:

请注意,从PHP7开始,$php_errormsg已被弃用。

请改用error_get_last()。

请参阅@Sascha Schmidt的回答

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/280014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档