PHP脚本可以与HTML表单一起使用,以允许用户将文件上传到服务器。最初,文件被上传到临时目录,然后通过PHP脚本重定位到目标位置。
phpinfo.php 页中的信息将用于文件上传的临时目录描述为 upload_tmp_dir ,将允许上传的最大文件大小表示为 upload_max_filesize 。这些参数设置在PHP配置文件 php.ini 中
创建上传表单
下面的以下HTM代码创建一个上载器表单。此表单的方法属性设置为 post ,而enctype属性设置为 multipart/form-data
<?php if(isset($_FILES['image'])){ $errors= array(); $file_name=$_FILES['image']['name']; $file_size =$_FILES['image']['size']; $file_tmp =$_FILES['image']['tmp_name']; $file_type=$_FILES['image']['type']; $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); $extensions= array("jpeg","jpg","png"); if(in_array($file_ext,$extensions)=== false){ $errors[]="extension not allowed, please choose a JPEG or PNG file."; } if($file_size > 2097152){ $errors[]='File size must be excately 2 MB'; } if(empty($errors)==true){ move_uploaded_file($file_tmp,"images/".$file_name); echo "Success"; }else{ print_r($errors); } } ?> <html> <body> <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit"/> </form> </body> </html>
它将产生以下输出-
创建上传脚本
有一个名为 $_ FILES 的全局PHP变量,此变量是关联的二维数组,保留与上载文件有关的所有信息。因此,如果在上传形式中分配给输入的name属性的值为 file ,则PHP将创建以下五个变量-
$_ FILES ['file'] ['tmp_name'] - Web服务器上临时目录中的上载文件。
$_ FILES ['file'] ['name'] - 上载文件的实际名称。
$_ FILES ['file'] ['size'] - 上载文件的字节大小。
$_ FILES ['file'] ['type'] - 上载文件的MIME类型。
$_ FILES ['file'] ['error'] - 与该文件上传相关的错误代码。
下面的示例应允许上传图像,并返回输出作为上传文件信息。
<?php if(isset($_FILES['image'])){ $errors= array(); $file_name=$_FILES['image']['name']; $file_size=$_FILES['image']['size']; $file_tmp=$_FILES['image']['tmp_name']; $file_type=$_FILES['image']['type']; $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); $extensions= array("jpeg","jpg","png"); if(in_array($file_ext,$extensions)=== false){ $errors[]="extension not allowed, please choose a JPEG or PNG file."; } if($file_size > 2097152) { $errors[]='File size must be excately 2 MB'; } if(empty($errors)==true) { move_uploaded_file($file_tmp,"images/".$file_name); echo "Success"; }else{ print_r($errors); } } ?> <html> <body> <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit"/> <ul> <li>Sent file: <?php echo $_FILES['image']['name']; ?> <li>File size: <?php echo $_FILES['image']['size']; ?> <li>File type: <?php echo $_FILES['image']['type'] ?> </ul> </form> </body> </html>
它将产生以下输出-
参考链接
https://www.learnfk.com/php/php-file-uploading.html
标签:FILES,上载,教程,errors,无涯,file,PHP,上传 From: https://blog.51cto.com/u_14033984/7174796