gpt4 book ai didi

PHP 验证文件上传

转载 作者:可可西里 更新时间:2023-11-01 12:28:33 24 4
gpt4 key购买 nike

<分区>

我是一名 PHP 初学者,目前正在学习“验证文件上传”部分。

我制作了一个包含以下代码的 test.php 页面:

var_dump(@$_FILES['file']['type']);

首先,我上传了一张图片“img.gif”,它返回了:

string 'image/gif' (length=9)

然后,我将图像的扩展名更改为“.jpg”并返回:

string 'image/jpeg' (length=10)

所以我意识到 $_FILES["file"]["type"] 只返回上传的文件扩展名,但实际上并没有检查它是什么文件。

在此页面中,http://www.w3schools.com/php/php_file_upload.asp ,有一个代码:

$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))

我想知道为什么上面的代码检查文件扩展名两次?我从上面的代码中删除了一些,这是我的新代码:

$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts))

我的代码正确吗?或者您有什么更好的方法来验证上传文件是图片吗?

谢谢!

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com