使用rename()重命名Amazon S3上的文件

时间:2011-04-25 05:41:28

标签: php

如何使用PHP重命名文件(在linux中)。 我正在使用重命名(oldfile,newfile),但没有工作。

rename("s3://mydata/$md5_userid/temp_$id.html","s3://mydata/$md5_userid/$iRow_id.html");

1 个答案:

答案 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