关于PHP的rename函数 此函数可以移动文件不知道是否具有覆盖功能如.将A文件夹下的1.jpg移动到B文件夹下并命名为2.jpg如果原来B文件夹下就有一个2.jpg的情况下.会不会覆盖成功 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具备覆盖功能,只有2.jpg有写权限,就会覆盖成功 谢谢1楼的答案再问一下如果我想直接移动并名命名覆盖原文件.不知道PHP里有没有什么好的办法办法一是先删除目标再用rename办法二是先copy覆盖再删除原文件除了这2个办法.有没有一步达成的办法 感谢2楼的答复看样子我还是需要自己做一下实验.就怕不同的平台会出现多种情况.因为PHP手册里没有查到rename是否有覆盖功能 看了2楼的,我查了下可能都对了一半rename() fails with PHP4 and PHP5 under Windows if the destination file exists, windows下,文件存在,会失败 刚试了一下WINDOWS下返回FALSE~~正准备去UNIX上试一下 我觉得如果目标文件名存在,先unlink接着rename,不去管平台 php 5.3.2 源码有一处是这么写的, (其余地方用到rename的地方也都这么写的)有MOVEFILE_REPLACE_EXISTING参数,可能可以避免rename失败.但是当目标是个目录时,即使加这个参数也没有用,一样会失败. /* rename on windows will fail if newname already exists. MoveFileEx has to be used */#ifdef TSRM_WIN32 retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0) ? -1 : 0;#else retval = rename(oldname, newname);#endif 可是我的要求是只有在文件转移成功的时候才能对旧文件操作因为有可能发生我把旧文件删除的时候.新文件移动失败的情况最终还是用COPY处理了.先COPY过去覆盖.再删除原文件 PHP写入txt文件,能不能设置字体和颜色?? 请教某特定情景下的正则表达式 求 wordpress问题.根据文章id得到该文章评论的请求方式 VI下面如何实现TAB 自动完成PHP函数,代码折叠等功能. 淘宝这种销售属性怎么做啊,谁能教教我 请问怎么用正则表达式判断一个字符串中间有一个全角空格? 200分求一提交表单的问题 请教:文件名称大小写问题.... 救命啊!关于COOKIE的问题,特急!!!!求求各位大侠了解!!! 根据人数随机分配百分比的问题 表单中的默认值-value怎样设为变量? 求书 PHP求职宝典 潘凯华 电子工业出版社
办法二是先copy覆盖再删除原文件除了这2个办法.有没有一步达成的办法
有MOVEFILE_REPLACE_EXISTING参数,可能可以避免rename失败.
但是当目标是个目录时,即使加这个参数也没有用,一样会失败.
/* rename on windows will fail if newname already exists.
MoveFileEx has to be used */
#ifdef TSRM_WIN32
retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0) ? -1 : 0;
#else
retval = rename(oldname, newname);
#endif