php上传文件deom (你能给我演示一下PHP上传文件的DEMO吗?)
PHP上传文件DEMO
PHP是一种非常流行的服务器端编程语言,它可以与HTML混合使用,使网站开发工作更加轻松。在网站开发中,文件上传功能是非常常见的需求,例如上传照片、上传文档等。下面介绍一下如何使用PHP实现文件上传功能,以实现上传图片为例。
- HTML表单
首先我们需要在HTML中创建一个表单,用于接受用户上传的文件。表单中需要包含一个input标签,类型为“file”,这个标签将会被用户使用来选择要上传的文件。下面是一个简单的HTML表单:
“`html
Select image to upload:
“`
注意:表单的enctype属性必须设置成”multipart/form-data”,才能支持文件上传。
- PHP脚本
接着,我们需要编写一个PHP脚本,用于处理用户上传的文件。PHP提供了一些内置的函数,可以用来处理文件上传,例如moveuploadedfile()函数,它可以将上传的文件移动到指定的目录中。下面是一个示例的PHP脚本:
“`php
<?php
$targetdir = “uploads/”; // 文件上传目录
$targetfile = $targetdir . basename($FILES[“fileToUpload”][“name”]); //上传文件的完整路径
$uploadOk = 1; //标记变量
$imageFileType = strtolower(pathinfo($targetfile,PATHINFOEXTENSION)); // 文件后缀名
// 检查文件是否为真正的图片文件
if(isset($POST[“submit”])) {
$check = getimagesize($FILES[“fileToUpload”][“tmp_name”]);
if($check !== false) {
echo “File is an image – ” . $check[“mime”] . “.”;
$uploadOk = 1;
} else {
echo “File is not an image.”;
$uploadOk = 0;
}
}
// 检查文件是否已经存在
if (fileexists($targetfile)) {
echo “Sorry, file already exists.”;
$uploadOk = 0;
}
// 检查文件大小
if ($_FILES[“fileToUpload”][“size”] > 500000) {
echo “Sorry, your file is too large.”;
$uploadOk = 0;
}
// 允许的文件格式
if($imageFileType != “jpg” && $imageFileType != “png” && $imageFileType != “jpeg”
&& $imageFileType != “gif” ) {
echo “Sorry, only JPG, JPEG, PNG & GIF files are allowed.”;
$uploadOk = 0;
}
// 检查异常,并上传文件
if ($uploadOk == 0) {
echo “Sorry, your file was not uploaded.”;
// 如果文件可以被上传
} else {
if (moveuploadedfile($FILES[“fileToUpload”][“tmpname”], $targetfile)) {
echo “The file “. basename( $FILES[“fileToUpload”][“name”]). ” has been uploaded.”;
} else {
echo “Sorry, there was an error uploading your file.”;
}
}
?>
“`
在这个PHP脚本中,首先指定了一个存储上传文件的目录,然后检查上传的文件是否为图片文件,是否存在,文件大小是否符合要求,文件类型是否符合要求等。如果所有检查都通过,就将上传的文件移动到指定的目录中,并输出“文件上传成功”的信息。
需要注意的是,这个PHP脚本的文件名必须与HTML表单中action属性指定的文件名一致。
- 效果预览
当用户使用这个HTML表单上传文件时,将会调用上面定义的PHP脚本进行处理。如果上传成功,用户将会看到一个”文件上传成功”的提示信息。
以上就是使用PHP实现文件上传功能的简单介绍,当然这个DEMO只是基本的文件上传案例,实际操作中可能需要更多的判断和限制。