php文件上传验证方法,php 文件上传验证

文件上传验证:

if(!isset($_POST["submit"])){exit("未通过post方式提交");}

function upload_file($input_name,$dir,$exts){

$arr=$_FILES[$input_name]["name"];

if(empty($input_name)){return "文件未上传";}//判断文件是否上传

$ext=strrchr($_FILES["file"]["name"],".");//提取文件扩展名

if(!in_array($ext,$exts)){return "文件类型有误";}//判断文件类型

if($_FILES["file"]["error"]<>0){return "error".$_FILES["file"]["error"];}//判断错误类型

if(!is_uploaded_file($_FILES["file"]["tmp_name"])){return "未通过 HTTP POST 上传";}//判断文件是否是通过 HTTP POST 上传的

if(!is_dir($dir)){mkdir($dir,0777,true);}//创建上传目录

if(move_uploaded_file($_FILES["file"]["tmp_name"],$dir.date("YmdHis").rand(1000,9999).$ext))//将上传的文件移动$dir

{return "上传成功";}

else

{return "上传失败";}

}

$input_name="uploads";//上传控件的name属性

$dir="e:/file/upload_multiple/";//规定存放上传文件的目录

$exts=[".docx",".pptx",".xlsx",".doc",".ppt",".xls"];//规定上传文件的类型

upload_file($input_name,$dir,$exts);

错误类型提示:

switch($_FILES["file"]["error"]){

case 1:

$err="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。";

break;

case 2:

$err="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";

break;

case 3:

$err="文件只有部分被上传。";

break;

case 4:

$err="没有文件被上传。";

break;

case 6:

$err="找不到临时文件夹。";

break;

case 7:

$err="文件写入失败。";

break;

}

echo "error{$_FILES["file"]["error"]}: $info";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于文件上传,我们可以通过HTML中的表单,使用POST方法文件上传到服务器端,服务器端接收到文件后,可以将文件保存到指定的目录中。 以下是一个基本的PHP文件上传的实现方法: ```php <?php if(isset($_FILES['file'])){ $target_dir = "uploads/"; //指定上传目录 $target_file = $target_dir . basename($_FILES["file"]["name"]); //指定上传文件的路径 move_uploaded_file($_FILES["file"]["tmp_name"], $target_file); //将临时文件移动到目标路径下 echo "上传成功!"; } ?> <!-- HTML表单 --> <form action="upload.php" method="post" enctype="multipart/form-data"> 选择要上传文件:<input type="file" name="file" /><br /> <input type="submit" value="上传" /> </form> ``` 对于文件下载,我们可以使用PHP的header函数将文件发送到客户端。以下是一个基本的文件下载实现方法: ```php <?php $file_name = "test.txt"; //指定要下载的文件 $file_path = "uploads/" . $file_name; if(file_exists($file_path)){ header('Content-Disposition: attachment; filename=' . $file_name); //指定文件下载时的文件名 header('Content-Type: application/octet-stream'); //指定文件类型 header('Content-Length: ' . filesize($file_path)); //指定文件大小 readfile($file_path); //读取文件 }else{ echo "文件不存在!"; } ?> ``` 以上是文件上传和下载的简单实现方法,具体实现还需要根据具体的需求进行修改,例如添加文件格式验证上传进度提示等功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值