最近我在项目中工作,我需要重命名一张图片.问题是当我重命名它重命名的图片但显示一条警告信息时,如下面
警告:重命名(seeker/SeekerPhoto/katr.jpg,seeker/SeekerPhoto/ussl.jpg)[function.rename]:第100行/subdomains/www/html/ussl/job/insphoto.php中没有此类文件或目录
如何避免此警告消息.这意味着无论警告是什么,它都将用于下一个任务.
Vol*_*erK 12
在重命名文件之前,您可以对参数进行一些测试.
if ( !file_exists($oldfile) || !is_readable($oldfile) ) {
// some error handling here
}
else {
$b = rename($oldfile, $newfile);
}Run Code Online (Sandbox Code Playgroud)
编辑:我没想到这个答案与其他答案相比有很大的提升.请注意评论.很难/几乎不可能提前测试所有可能导致警告信息的条件.在文件系统上执行您想要的测试,当您执行实际操作时它可能会失败.测试表字段,权限或你想要的东西,仍然你的SQL查询可能会失败(例如2006年 - MySQL服务器已经消失,可能随时发生).等等.不过,您可以测试更可能原因的参数,并让脚本"优雅地"处理这些错误.
您可以使用@运算符,它可以抑制单个语句的错误消息.
@rename($oldFileName, $newFileName);
Run Code Online (Sandbox Code Playgroud)
或者,error_reporting如果要禁止多个语句的警告,可以减小该值:
$oldErrorReportingValue = error_reporting(0);
rename($oldFileName, $newFileName);
# do something else ....
error_reporting($oldErrorReportingValue);
Run Code Online (Sandbox Code Playgroud)
请注意,警告是有原因的.最好的方法是查看操作生成警告的原因,并注意您的代码可以处理这些情况.您应该只忽略警告作为最后的手段.
| 归档时间: |
|
| 查看次数: |
8044 次 |
| 最近记录: |