怎么样使用PHP文件实现上传

许多网站都有上传文件的功能,如用户头像、认证数据等。 文件上传的实现过程是什么?wordpress应该如何上传文件?今天我将学习PHP的文件上传。wordpress也是一个PHP程序

需注意!!!允许用户上传文件是一个巨大的安全风险 请仅允许受信任的用户上传文件

第一步是创建上传文件的表单。

<html>
 <body>
 <form action="upload_file.php" method="post"
 enctype="multipart/form-data">
 <label for="file">Filename:</label>
 <input type="file" name="file" id="file"><br>
 <input type="submit" name="submit" value="Submit">
 </form>
 </body>
 </html>

第二步,新建upload_file.php文件,这里面写上服务器端接收前端传递过来的文件信息,并做存储操作。

文件上传限制示例
在此脚本中,我们添加了文件上传限制 用户只能上传。gif和。jpeg文件,文件大小必须小于20 kB:

<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Error: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 echo "Stored in: " . $_FILES["file"]["tmp_name"];
 }
 }
 else
 {
 echo "Invalid file";
 }
 ?>
保存上传的文件
以上示例在服务器的PHP临时文件夹中创建上传文件的临时副本。

这个临时拷贝文件将在脚本结束时消失。要保存上传的文件,我们需要将其复制到另一个位置:
<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
 {
 echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
 }
 else
 {
 echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
 echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

 if (file_exists("upload/" . $_FILES["file"]["name"]))
 {
 echo $_FILES["file"]["name"] . " already exists. ";
 }
 else
 {
 move_uploaded_file($_FILES["file"]["tmp_name"],
 "upload/" . $_FILES["file"]["name"]);
 echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
 }
 }
 }
 else
 {
 echo "Invalid file";
 }
 ?>

 上面的脚本检测文件是否已经存在,如果不存在,将文件复制到名为“upload” 的文件夹中。

转载请注明出处:怎么样使用PHP文件实现上传
本文链接:https://www.cmezy.com/blog/phpsc

 



					    					            

评论0

请先

没有账号? 忘记密码?