PHP中与文件上传相关的函数使用
文件上传是web应用中常见的一项功能,PHP中也提供了许多与文件上传相关的函数,本文将对这些函数做一个简要的介绍。
1. move_uploaded_file()
move_uploaded_file() 函数将上传的文件移动到新位置。它需要两个参数, 个参数是上传的文件的临时目录和文件名,第二个参数是新位置的目录和文件名。
语法:move_uploaded_file($tmp_name, $newlocation)
$tmp_name:上传的文件的临时目录和文件名。
$newlocation:新位置的目录和文件名。
这是一个简单的示例:
<?php
if ($_FILES["fileToUpload"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["fileToUpload"]["tmp_name"];
$newlocation = "uploads/" . basename($_FILES["fileToUpload"]["name"]);
move_uploaded_file($tmp_name, $newlocation);
}
?>
2. is_uploaded_file()
is_uploaded_file() 函数检查指定的文件是否是通过 HTTP POST 上传的。它需要一个参数,即要检查的文件名。
语法:is_uploaded_file($filename)
$filename:要检查的文件名。
这是一个简单的示例:
<?php
if (is_uploaded_file($_FILES["fileToUpload"]["tmp_name"])) {
echo "The file " . $_FILES["fileToUpload"]["name"] . " was uploaded via HTTP POST.";
} else {
echo "The file " . $_FILES["fileToUpload"]["name"] . " was not uploaded via HTTP POST.";
}
?>
3. file_exists()
file_exists() 函数检查指定的文件或目录是否存在。它需要一个参数,即要检查的文件名。
语法:file_exists($filename)
$filename:要检查的文件名。
这是一个简单的示例:
<?php
$filename = "uploads/" . basename($_FILES["fileToUpload"]["name"]);
if (file_exists($filename)) {
echo "The file " . $_FILES["fileToUpload"]["name"] . " already exists.";
} else {
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $filename);
echo "The file " . $_FILES["fileToUpload"]["name"] . " has been uploaded.";
}
?>
4. filesize()
filesize() 函数获取指定文件的大小。它需要一个参数,即要检查的文件名。
语法:filesize($filename)
$filename:要检查的文件名。
这是一个简单的示例:
<?php
$filename = "uploads/" . basename($_FILES["fileToUpload"]["name"]);
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
} else {
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $filename);
echo "The file " . $_FILES["fileToUpload"]["name"] . " has been uploaded.";
}
?>
5. $_FILES
$_FILES 是一个全局变量,其中包含了上传文件的相关信息。它是一个数组,包含了以下信息:
- $_FILES["fileToUpload"]["name"]:上传文件的原始名称。
- $_FILES["fileToUpload"]["type"]:上传文件的 MIME 类型。
- $_FILES["fileToUpload"]["size"]:上传文件的大小,以字节为单位。
- $_FILES["fileToUpload"]["tmp_name"]:上传文件的临时路径和名称。
- $_FILES["fileToUpload"]["error"]:上传文件的错误代码(如果有)。
这是一个简单的示例:
<?php echo "Upload: " . $_FILES["fileToUpload"]["name"] . "<br />"; echo "Type: " . $_FILES["fileToUpload"]["type"] . "<br />"; echo "Size: " . ($_FILES["fileToUpload"]["size"] / 1024) . " KB<br />"; echo "Stored in: " . $_FILES["fileToUpload"]["tmp_name"]; ?>
以上是几个常见的与文件上传相关的函数,它们可以帮助我们实现文件上传和处理。
