2 hanrovey Hanrovey 于 2017.01.03 15:43 提问

php rename() 失败问题
php

代码:

$before = '/Applications/MAMP/htdocs/www/store/data/log/ before.txt';
$after = '/Applications/MAMP/htdocs/www/store/data/log/' . 'after.txt';
if (rename($before, $after)) {
echo "换名成功";
}else{
echo "换名失败";
}

报错提示:返回值一直是false,换名失败。。。

环境: mac电脑 + sublime编辑器

4个回答

jjl123jjl123
jjl123jjl123   2017.01.03 16:27
已采纳

检查下before.txt这个文件是否存在或者路径有没有写错

beita_2016
beita_2016   2017.01.03 16:15

应该是路径写的有问题,改一下就好了,你也可以用 file_exists($before) 来检测一下路径是不是有问题

Hanrovey
Hanrovey   2017.01.03 17:38

解决了: 原因是路径错了 '/Applications/MAMP/htdocs/www/store/data/log/《这边多打了个空格》 before.txt'

minyifei811
minyifei811   2017.01.03 23:47

嗯是多个了空格,可以仔细检查一下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
php rename 中文出错
rename()函数可以重命名文件、目录等,但是要注意目的地和起始地址的编码。 比如:我的PHP文件编码是UTF-8,但是在WINDOW系统中中文默认编码是GBK,因此我应该这样写 $newFileName\$filename是UTF-8编码. rename(iconv('UTF-8','GBK',$dir.$filename), iconv('UTF-8','GBK',$d
php中rename()函数的妙用
大家都知道,rename()函数可以对文件或目录进行重命名的操作。其实它还可以做很多事情。 熟悉unix的朋友应该知道shell命令mv,它相当与win32的移动,而且移动的同时可进行重命名。我发现,php的rename()函数就相当于mv,它不仅仅只有简单的重命名的功能,同样可以改变文件甚至整个目录的路径。 例如: $oldpath ----文件或目录原来路径 $newpath ----新定义路
rename() 函数 解决重命名中文---PHP
rename()函数可以重命名文件、目录等,但是要注意目的地和起始地址的编码。 比如:我的PHP文件编码是UTF-8,但是在WINDOW系统中中文默认编码是GBK,因此我应该这样写 $newFileName\$filename是UTF-8编码. rename(iconv('UTF-8','GBK',$dir.$filename), iconv('UTF-8','GBK',$dir.$ne
解决php中rename乱码
rename($savePath . $oldName, $savePath . iconv("utf-8", "gb2312", $fileName));
log4j修改源码后解决log4j:ERROR Failed to rename错误解决办法错误的jar包
log4j:ERROR Failed to rename错误解决办法,修改源码里的DailyRollingFileAppender类,用此jar包就不会再出现ERROR Failed to rename的错误了
eclipse项目重命名时要注意的问题
1、重命名不同步问题 重命名项目名时的resource is out of sync with the file system问题: 这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。   解决办法:需要手动刷新一下资源管理器
yii上传文件move_uploaded_file和rename函数报错
这是因为php字符编码和windows不同的问题,简体中文版的windows对文件名的命名一般使用gbk或gb2312编码。而php中的非ASCII字符串变量的值大多使用utf8编码(当然,这个默认值可以修改。。)。需要将$name变量转换为gbk编码,才能在windows的文件系统中命名并存储下来。可以使用mb_convert_encoding函数来转换字符串的编码。 假设php是utf8编码
在C#中操作FTP完成rename操作
refer:  http://sureshjangid.blogspot.com/2010/03/ftp-file-rename-in-c-win-application.html FTP File Rename In C# Win Application // Posted By Suresh FtpWebRequest reqFTP; try { reqF
File下的rename()方法。。。靠不住
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。  昨天老板同学又遇到这个问题,File#renameTo(File)方法
巧妙地解决Log4j文件重命名失败的问题
报错信息: Failed to rename [/opt/proj.log] to [/opt/proj.log.2014-03-20]. 这个算是log4j.DailyRollingFileAppender的一个BUG。 文件重命名失败 Java进行了其他的读写流之类的操作,然后重命名文件,则操作失败。