PHP文件上传常用函数详解
PHP是一种常用的服务器端脚本语言,在网站后端开发中使用广泛。其中一个常见的功能是文件上传。文件上传是指将本地计算机上的文件上传到Web服务器。在PHP中,有许多函数可用于处理和管理文件上传。本文将详细介绍这些函数。
1. $_FILES
$_FILES是一个包含上传文件信息的关联数组。它由用户上传文件时创建,并在文件上传后立即填充。它包含了以下信息:
- name:上传文件的原始文件名。
- type:上传文件的MIME类型。
- tmp_name:上传文件的临时文件名和路径。
- error:上传文件时出现的错误代码。
- size:上传文件的大小(以字节为单位)。
2. move_uploaded_file()
move_uploaded_file()函数将上传文件从临时目录移动到指定的目录。它需要两个参数,分别是临时文件名和目标文件名(即上传后的文件名和路径)。下面是一个例子:
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$_FILES['file']['name'])){
echo "文件上传成功。";
}else{
echo "文件上传失败。";
}
3. is_uploaded_file()
is_uploaded_file()函数检查指定的文件是否是通过HTTP POST上传的。它需要一个参数,即文件名和路径。下面是一个例子:
if(is_uploaded_file($_FILES['file']['tmp_name'])){
echo "该文件是上传的文件。";
}else{
echo "该文件不是上传的文件。";
}
4. move_uploaded_file()
move_uploaded_file()函数将上传文件从临时目录移动到指定的目录。它需要两个参数,分别是临时文件名和目标文件名(即上传后的文件名和路径)。下面是一个例子:
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$_FILES['file']['name'])){
echo "文件上传成功。";
}else{
echo "文件上传失败。";
}
5. uploaded_file()
uploaded_file()函数检查指定的文件是否是通过HTTP POST上传的。它需要一个参数,即文件名和路径。下面是一个例子:
if(is_uploaded_file($_FILES['file']['tmp_name'])){
echo "该文件是上传的文件。";
}else{
echo "该文件不是上传的文件。";
}
6. filesize()
filesize()函数返回指定文件的大小(以字节为单位)。它需要一个参数,即文件名和路径。下面是一个例子:
$filesize = filesize('uploads/'.$_FILES['file']['name']);
echo "文件大小为:".$filesize."字节。";
7. pathinfo()
pathinfo()函数返回一个关联数组,其中包含有关指定文件路径的信息,例如文件名、扩展名和目录路径。它需要一个参数,即文件名和路径。下面是一个例子:
$pathinfo = pathinfo('uploads/'.$_FILES['file']['name']);
echo "文件名为:".$pathinfo['filename']."。";
echo "扩展名为:".$pathinfo['extension']."。";
echo "目录路径为:".$pathinfo['dirname']."。";
8. chmod()
chmod()函数更改指定文件的权限。它需要两个参数,分别是文件名和权限模式。下面是一个例子:
if(is_uploaded_file($_FILES['file']['tmp_name'])){
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$_FILES['file']['name'])){
chmod('uploads/'.$_FILES['file']['name'], 0666);
echo "文件上传成功。";
}else{
echo "文件上传失败。";
}
}else{
echo "该文件不是上传的文件。";
}
9. unlink()
unlink()函数删除指定的文件。它需要一个参数,即文件名和路径。下面是一个例子:
unlink('uploads/'.$_FILES['file']['name']);
echo "文件已经被删除。";
总结
PHP文件上传涉及的函数很多,本文介绍了常用函数,包括$_FILES、move_uploaded_file()、is_uploaded_file()、filesize()、pathinfo()、chmod()、unlink(),希望本文可以对您有所帮助。
