php 移动或重命名文件(图片)到另一目录下的方法有多种:
方法一:使用copy函数
格式:copy(source,destination)
将文件从 source 拷贝到 destination。如果成功则返回 TRUE,否则返回 FALSE。
如,copy(“source.png”,“target.png”);
然后删除源图片,这种方法多了这步,显得不太好。
$nowDay = date('Y-m-d');
//如果没有文件夹 则自动创建
//$_SERVER['DOCUMENT_ROOT'] 表示从根目录/开始
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/uploads/files/'.$nowDay)){
mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/files/'.$nowDay,0777,true);//创建年+月的文件夹权限为最高
}
copy($_SERVER['DOCUMENT_ROOT'].$request->purchase_file, $_SERVER['DOCUMENT_ROOT'].$new_purchase_file);
//$request->purchase_file源文件(含路径和文件名),$new_purchase_file目标文件(含路径和文件名)
@unlink($_SERVER['DOCUMENT_ROOT'].$request->purchase_file); //删除旧目录下的文件
方法二:使用rename() 函数
rename() 函数重命名文件或目录,成功,返回 true。若失败,则返回 false。
rename(oldname,newname)
如,rename(
S
E
R
V
E
R
[
′
D
O
C
U
M
E
N
T
R
O
O
T
′
]
.
_SERVER['DOCUMENT_ROOT'].
SERVER[′DOCUMENTROOT′].oldname,
S
E
R
V
E
R
[
′
D
O
C
U
M
E
N
T
R
O
O
T
′
]
.
_SERVER['DOCUMENT_ROOT'].
SERVER[′DOCUMENTROOT′].newname);
注意:$_SERVER[‘DOCUMENT_ROOT’]是从根目录/开始
方法三:php中用exec()函数运行mv命令
如,exec(“mv /home/test/simps /home/”);