简单的php文件上传的方法教程
创始人
2024-12-14 13:22:40
0次

把下面代码另存为uploads.php

复制代码 代码如下:

 
 
 
     
     
    简易文件上传 
 
 
 

 
请选择文件:
 
   
 
     
 

 

 

 

 
function file_list($dir,$pattern=""){ 
    $arr=array(); 
    $dir_handle=opendir($dir); 
    if($dir_handle){ 
        while(($file=readdir($dir_handle))!==false){ 
            if($file==='.' || $file==='..'){ 
                continue; 
            } 
            $tmp=realpath($dir.'/'.$file); 
            if(is_dir($tmp)){ 
                $retArr=file_list($tmp,$pattern); 
                if(!empty($retArr)){ 
                    $arr[]=$retArr; 
                } 
            } else { 
                if($pattern==="" || preg_match($pattern,$tmp)){ 
                    $arr[]=$tmp; 
                } 
            } 
        } 
        closedir($dir_handle); 
    } 
    return $arr; 
} 
$d_root = $_SERVER['DOCUMENT_ROOT']; 
$store_dir = "$d_root/uploads/";// 上传文件的储存位置 
if (!is_dir($store_dir)) { 
    mkdir($store_dir,0777,true); 
} 
$file_arr = file_list($store_dir); 
foreach ($file_arr as $v=>$k) { 
    $d_root_no = strlen($d_root); 
    $l = substr($k,$d_root_no); 
    echo $v.'号文件下载地址为:  '.$_SERVER['SERVER_ADDR'].$l.'
'; 
} 
$upload_file=isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:''; 
$upload_file_name=isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:''; 
$upload_file_size=isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:''; 
if($upload_file){ 
    $file_size_max = 1000*1000*200;// 200M限制文件上传最大容量(bytes) 
    if (!is_dir($store_dir)) { 
        mkdir($store_dir,0777,true); 
    } 
    $accept_overwrite = 1;//是否允许覆盖相同文件 
    // 检查文件大小 
    if ($upload_file_size > $file_size_max) { 
        echo "对不起,你的文件容量大于规定"; 
        exit; 
    } 
    // 检查读写文件 
    if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) { 
        echo "存在相同文件名的文件"; 
        exit; 
    } 
    //复制文件到指定目录 
    if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) { 
        echo "复制文件失败"; 
        exit; 
    } 
} 
if (isset($_FILES['upload_file'])) { 
    echo "

你上传了文件:"; 
    echo isset($_FILES['upload_file']['name'])?$_FILES['upload_file']['name']:''; 
    echo "
"; 
    //客户端机器文件的原名称。 

    echo "文件的 MIME 类型为:"; 
    echo isset($_FILES['upload_file']['type'])?$_FILES['upload_file']['type']:''; 
    //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。 
    echo "
"; 

    echo "上传文件大小:"; 
    echo isset($_FILES['upload_file']['size'])?$_FILES['upload_file']['size']:''; 
    //已上传文件的大小,单位为字节。 
    echo "
"; 

    echo "文件上传后被临时储存为:"; 
    echo isset($_FILES['upload_file']['tmp_name'])?$_FILES['upload_file']['tmp_name']:''; 
    //文件被上传后在服务端储存的临时文件名。 
    $erroe = isset($_FILES['upload_file']['error'])?$_FILES['upload_file']['error']:''; 
    switch($erroe){ 
    case 0: 
        echo "上传成功"; break; 
    case 1: 
        echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break; 
    case 2: 
        echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break; 
    case 3: 
        echo "文件只有部分被上传"; break; 
    case 4: 
        echo "没有文件被上传"; break; 
    case 6: 
        echo "没有缓存目录"; break; 
    case 7: 
        echo "上传目录不可读"; break; 
    case 8: 
        echo "上传停止"; break; 
    default : 
        echo "没有选择上传文件"; break; 
    } 
    echo ""; 
} 
?> 
 
 

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...