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>