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']; $name_arr = explode('.',$_FILES['image']['name']); $file_ext=strtolower(end($name_arr)); $extensions= array("jpeg","jpg","png"); /* 规定可以上传的扩展名文件 */ if(in_array($file_ext,$extensions)=== false){ $errors[]="不允许扩展,请选择一个jpeg或png文件。"; } /* 规定可以上传的文件大小 */ if($file_size > 2097152) { $errors[]='文件大小必须不超过2 MB'; } if(empty($errors)==true) { /* 把图片从临时文件夹内的文件移动到当前脚本所在的目录 */ move_uploaded_file($file_tmp,"./".$file_name); echo "成功上传"; }else{ print_r($errors); } } ?> <html> <body> <!-- action 默认为当前脚本 --> <form action = "" method = "POST" enctype = "multipart/form-data"> <input type = "file" name = "image" /> <input type = "submit" name="提交" /> <ul> <li>文件名: <?php echo isset($_FILES['image']['name']) ? $_FILES['image']['name'] : '' ; ?> <li>文件大小: <?php echo isset($_FILES['image']['size']) ? $_FILES['image']['size'] : '' ; ?> <li>文件类型: <?php echo isset($_FILES['image']['type']) ? $_FILES['image']['type'] : '' ; ?> </ul> </form> </body> </html>