如何使用PHP重命名文件(在linux中)。 我正在使用重命名(oldfile,newfile),但没有工作。
rename("s3://mydata/$md5_userid/temp_$id.html","s3://mydata/$md5_userid/$iRow_id.html");
答案 0 :(得分:2)
您似乎在为Amazon S3使用stream wrapper。
由实现rename functionality的个人自定义包装代码决定。如果您的包装器没有进行重命名,那么它使用的代码是错误的,或者它没有实现该功能,也没有报告它,或您没有检查返回来自rename
函数调用的代码,它返回false表示失败。
您可能需要实际使用普通 S3 API来执行文件重命名。如果函数实际返回true,则应该向提供流包装器库的人员提交错误。
编辑:如果您 使用了评论中建议的PEAR的Services_Amazon_S3,那么the stream wrapper it provides does do rename
使用rename
方法从约570行开始。
Edit2:在进一步检查代码后,如果 失败,您将看到从流包装器发出的警告。也许你没有error_reporting
一直加速到-1
?