php rename() 函数重命名Linux下的文件失败?

时间:2022-04-07 09:59:04
在Linux上用php 的rename()重名一个文件,死活不行,权限都改成777了,还是返回false,各位有遇过这种问题么?

代码很简单:
譬如有一个叫做test.txt的文件,重命名为test.aa
<?php
    rename('test.txt','test.aa');
?>

语法问题什么的就别说了,确定不是这个,求解!

12 个解决方案

#1


目录的权限是否也是777?

#2


引用 1 楼 microlab2009 的回复:
目录的权限是否也是777?

#3


贴出错误信息

#4


引用 3 楼 xuzuning 的回复:
贴出错误信息

这个哪来的错误信息... 又不是语法有误. rename函数返回的直接是bool值好么

#5


谁说的?失败了就会有错误信息输出,除非你把它屏蔽了
比如 test.aa 已经存在则
rename('test.txt','test.aa');
将会有
b>Warning</b>:  rename(test.txtt.aa):  in ....

#6


ll 贴出结果看看

#7


引用 5 楼 xuzuning 的回复:
谁说的?失败了就会有错误信息输出,除非你把它屏蔽了
比如 test.aa 已经存在则
rename('test.txt','test.aa');
将会有
b>Warning</b>:  rename(test.txtt.aa):  in ....

嗯,真的不是这种低级的错误,var_dump()一下,是返回false

#8


建议你打开 php 的错误显示功能

#9


先开报错 看看是什么
我觉得可能是路径问题
使用绝对路径吧

#10



<?php  
$file = 'test.txt';  
$perms = substr(sprintf('%o', fileperms($file)), -4);  
echo $perms;
?> 

看看输出什么。

#11


同求该问题~

#12


最上面加这个:
error_reporting(E_ALL ^ E_NOTICE);  //开启错误信息
把错误信息贴出来... 看是权限问题还是地址错什么的...

#1


目录的权限是否也是777?

#2


引用 1 楼 microlab2009 的回复:
目录的权限是否也是777?

#3


贴出错误信息

#4


引用 3 楼 xuzuning 的回复:
贴出错误信息

这个哪来的错误信息... 又不是语法有误. rename函数返回的直接是bool值好么

#5


谁说的?失败了就会有错误信息输出,除非你把它屏蔽了
比如 test.aa 已经存在则
rename('test.txt','test.aa');
将会有
b>Warning</b>:  rename(test.txtt.aa):  in ....

#6


ll 贴出结果看看

#7


引用 5 楼 xuzuning 的回复:
谁说的?失败了就会有错误信息输出,除非你把它屏蔽了
比如 test.aa 已经存在则
rename('test.txt','test.aa');
将会有
b>Warning</b>:  rename(test.txtt.aa):  in ....

嗯,真的不是这种低级的错误,var_dump()一下,是返回false

#8


建议你打开 php 的错误显示功能

#9


先开报错 看看是什么
我觉得可能是路径问题
使用绝对路径吧

#10



<?php  
$file = 'test.txt';  
$perms = substr(sprintf('%o', fileperms($file)), -4);  
echo $perms;
?> 

看看输出什么。

#11


同求该问题~

#12


最上面加这个:
error_reporting(E_ALL ^ E_NOTICE);  //开启错误信息
把错误信息贴出来... 看是权限问题还是地址错什么的...