php限制文件只能jpg,PHP:文件上传、文件类型限制、文件大小限制

文件上传:

move_uploaded_file(t m p n a m e , tmp_name,tmpn​ame,target);

index.php

文件上传

文件上传:

上传图片

up.php

';

print_r($_FILES);

echo '';

?>

结果是

Array

(

[img] => Array

(

[name] => 微信图片_20190719092031.jpg

[type] => image/jpeg

[tmp_name] => D:\xampp\tmp\phpA76C.tmp

[error] => 0

[size] => 20624

)

)

index.php

文件上传

文件上传:

上传图片

up.php

';

print_r($_FILES);

echo '';

// 取文件名称

$name=$_FILES['img']['name'];

// 分割文件名-取文件类型

$ext=array_pop(explode('.',$name));

// 取文件

$tmp_name=$_FILES['img']['tmp_name'];

// 随机名称

$tfile=time().mt_rand().'.'.$ext;

// 存放位置

$target='admin/'.$tfile;

// move_uploaded_file — 将上传的文件移动到新位置

move_uploaded_file($tmp_name,$target);

?>

文件类型限制:

$allow=array(‘jpg’,‘png’);

只允许上传png或者jpg图片文件

';

print_r($_FILES);

echo '';

// 只允许上传png或者jpg图片文件

$allow=array('jpg','png');

// 取文件名称

$name=$_FILES['img']['name'];

// 分割文件名-取文件类型

$ext=array_pop(explode('.',$name));

// 取文件

$tmp_name=$_FILES['img']['tmp_name'];

// 随机名称

$tfile=time().mt_rand().'.'.$ext;

// 存放位置

$target='admin/'.$tfile;

// move_uploaded_file — 将上传的文件移动到新位置

// in_array — 检查数组中是否存在某个值

if(in_array($ext,$allow)){

if(move_uploaded_file($tmp_name,$target)){

echo '文件{$name}上传成功';

}

}else{

echo '只允许上传png或者jpg图片文件';

}

?>

**

文件大小限制:

$allowsize=110241024;

文件大小限制

';

print_r($_FILES);

echo '';

// 只允许上传png或者jpg图片文件

$allow=array('jpg','png');

//只允许上传500KB以内的图片

$allowsize=500*1024;

// 取文件名称

$name=$_FILES['img']['name'];

// 分割文件名-取文件类型

$ext=array_pop(explode('.',$name));

// 文件大小

$size=$_FILES['img']['size'];

// 取文件

$tmp_name=$_FILES['img']['tmp_name'];

// 随机名称

$tfile=time().mt_rand().'.'.$ext;

// 存放位置

$target='admin/'.$tfile;

// move_uploaded_file — 将上传的文件移动到新位置

// in_array — 检查数组中是否存在某个值

if($size

**

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP中,我们可以通过以下代码来限制上传文件的类型、扩展名以及大小,并且可以自动检测目录是否存在并创建目录: ```php <?php // 允许上传文件类型 $allowed_types = array('jpg', 'jpeg', 'png', 'gif'); // 允许上传文件大小,单位为MB $max_size = 10; // 上传文件保存的目录 $upload_dir = 'uploads/'; // 如果目录不存在则创建目录 if (!file_exists($upload_dir)) { mkdir($upload_dir, 0777, true); } // 获取上传文件信息 $file_name = $_FILES['file']['name']; $file_size = $_FILES['file']['size']; $file_tmp = $_FILES['file']['tmp_name']; // 获取文件扩展名并转换为小写 $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION)); // 检查文件类型和扩展名是否允许上传 if (in_array($file_ext, $allowed_types) && $file_size <= $max_size * 1024 * 1024) { // 生成一个唯一的文件名 $new_file_name = uniqid('', true) . '.' . $file_ext; // 移动上传文件到目标目录 move_uploaded_file($file_tmp, $upload_dir . $new_file_name); echo '文件上传成功!'; } else { echo '文件上传失败!'; } ?> ``` 在上面的代码中,我们首先定义了允许上传文件类型、允许上传文件大小上传文件保存的目录。然后,我们通过`file_exists()`函数来检查目录是否存在,如果不存在则创建目录。 接下来,我们通过`$_FILES`数组来获取上传文件信息,包括文件名、文件大小和临时文件名。我们还使用`pathinfo()`函数来获取文件的扩展名,并将其转换为小写。 最后,我们检查文件类型和扩展名是否允许上传,如果允许,则生成一个唯一的文件名并将文件移动到目标目录。如果不允许,则输出上传失败的消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值