使用PHP函数进行文件上传和保存的方法。
在PHP中,可以使用以下函数来进行文件上传和保存:
1. move_uploaded_file($tmp_file, $destination): 这个函数将会把上传文件从临时位置移动到指定的目录中。$tmp_file参数是临时文件的路径,通常是通过$_FILES['file']['tmp_name']获取的。$destination参数是文件移动后的目标路径。
2. is_uploaded_file($file): 这个函数检查给定的文件是否是通过HTTP POST上传的。$file参数是文件路径。可以使用这个函数作为验证文件有效性的一部分。
3. $_FILES: 通过这个超全局变量,可以获取上传文件的相关信息。$_FILES['file']['name']返回上传文件的原始文件名,$_FILES['file']['type']返回文件的MIME类型,$_FILES['file']['size']返回文件大小(字节),$_FILES['file']['tmp_name']返回文件的临时路径。
4. move_uploaded_file()函数需要目标目录有写权限,并且需要注意确保目标文件名的 性,以避免重复的文件名覆盖。
以下是一个简单的文件上传和保存的示例:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$file_name = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
$file_destination = 'uploads/' . $file_name;
if (is_uploaded_file($file_tmp)) {
if (move_uploaded_file($file_tmp, $file_destination)) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
} else {
echo "非法文件!";
}
}
?>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
上述例子中,当用户提交表单时,PHP代码首先通过$_FILES['file']['name']获得文件名,并将其存储在$file_name变量中。然后,通过$_FILES['file']['tmp_name']获取临时文件的路径,并将其存储在$file_tmp变量中。将目标路径uploads/和文件名拼接起来,存储在$file_destination变量中。然后,使用is_uploaded_file()函数验证文件的有效性,最后使用move_uploaded_file()函数将文件从临时位置移动到目标路径。
在HTML的表单中,需要使用enctype="multipart/form-data"来确保可以上传文件。使用<input type="file">来提供一个文件选择框,并使用<input type="submit">来提交表单。
总结来说,通过使用move_uploaded_file()函数和适当的验证,可以轻松地实现文件上传和保存的功能。
