<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    forget and forget

    能吃能睡是福;能忘是大福......

    posts - 39, comments - 26, trackbacks - 0, articles - 10
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    php上傳單個文件

    Posted on 2006-06-08 22:09 橘子 閱讀(1028) 評論(0)  編輯  收藏 所屬分類: WEB開發

    ??? PHP上傳文件的問題:
    一:1、上傳單個文件的時候。在表單頁面設置文件輸入域,<input name="userfile" type="file" />然后表單要加入<form enctype="multipart/form-data" action="post.php" method="post">這個屬性,這是告訴瀏覽器我要上傳文件的屬性,一定要加上。
    ??? 2、設置好了表單,接下來的事就是讀取表單的變量,如果你還定義了其他的變量,那么php使用$_POST來讀出,如:$uservar=$_POST["uservar"],然而文件是存在$_FILES中,具體見下面:
    ?
    ? * $_FILES['userfile']['name'] 客戶端機器文件的原名稱。
    ? ?* $_FILES['userfile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。
    ? ?* $_FILES['userfile']['size'] 已上傳文件的大小,單位為字節。
    ? ?* $_FILES['userfile']['tmp_name'] 文件被上傳后在服務端儲存的臨時文件名。
    ? ?* $_FILES['userfile']['error'] 和該文件上傳相關的錯誤代碼

    ? 1. 值:0; 沒有錯誤發生,文件上傳成功。
    ? 2. 值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
    ? 3. 值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
    ? 4. 值:3; 文件只有部分被上傳。
    ? 5. 值:4; 沒有文件被上傳。
    3、完成上傳過程。示例代碼:
    (1)
    <?php
    $upload_file=$_FILES['userfile']['tmp_name'];
    $upload_file_name=$_FILES['userfile']['name'];
    if($upload_file){
    ?$file_size_max = 20000000;// 1M限制文件上傳最大容量(bytes)
    ?$store_dir = "attfile/";// 上傳文件的儲存位置
    ?$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;
    ?}
    }
    echo?? "<p>你上傳了文件:";
    echo $_FILES['userfile']['name'];
    echo "<br>";
    //客戶端機器文件的原名稱。
    Echo?? "文件的 MIME 類型為:";
    echo $_FILES['userfile']['type'];
    //文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。
    echo "<br>";

    Echo?? "上傳文件大小:";
    echo $_FILES['userfile']['size'];
    //已上傳文件的大小,單位為字節。
    echo "<br>";

    Echo?? "文件上傳后被臨時儲存為:";
    echo $_FILES['userfile']['tmp_name'];
    //文件被上傳后在服務端儲存的臨時文件名。
    echo "<br>";

    $Erroe=$_FILES['userfile']['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;
    }
    ?>
    (2)<?php
    $uploaddir= '../attfile/';//設置上傳的文件夾地址
    $FILES_EXT=array('.gif','.jpg','.bmp');//設置允許上傳文件的類型
    $MAX_SIZE = 20000000;//設置文件上傳限制20000000byte=2M
    for ($i=0;$i<count($userfile);$i++){
    ?$FILES_NAME=$_FILES['userfile']['name'][$i];//客戶端文件名
    }
    //echo $FILES_NAME;
    //取出文件后綴名,strrpos()從標記開始前字節個數(不算標記),substr()顯示從第strrpos()之后的字符
    $file_ext=substr($FILES_NAME,strrpos($FILES_NAME,"."));
    //echo $file_ext;
    //檢查文件大小
    if($_FILES['userfile']['size']>$MAX_SIZE){
    ?echo "文件大小超程序允許范圍!";
    ?exit;
    }
    //檢查文件類型
    if(in_array($file_ext, $FILES_EXT)){
    ?$_FILES['userfile']['name']=date("YmdHis").rand().$file_ext;
    ?$uploadfile = $uploaddir.$_FILES['userfile']['name'];//上傳后文件的路徑及文件名
    ?//將上傳后的路徑寫入到數據庫中

    ?//用move函數生成臨時文件名,并按照 $_FILES['userfile']['name']上傳到$uploaddir下
    ?if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    ??print "\n上傳成功!";
    ?} else {
    ??print "上傳錯誤!? 以下是上傳的信息:\n";
    ??print_r($_FILES);
    ?}
    }
    else{
    ?echo "{$file_ext}不是允許上傳的文件類型!";
    ?exit;
    }
    ?>



    小技巧>>1、當在提交時,希望確認是否要提交可以在<form>里如這樣加入:<form onsubmit="return confirm('你真的要提交嗎?')">
    2、在php里希望返回時所有在文本框里的東西都保留可以這樣:<a href=javascript:history.back(1)>重新來過</a>。

    主站蜘蛛池模板: 亚洲熟女乱色一区二区三区| 男人的好免费观看在线视频| 亚洲AV无码乱码在线观看性色扶| 中中文字幕亚洲无线码| 91免费国产精品| 亚洲精彩视频在线观看| 免费能直接在线观看黄的视频 | 美女在线视频观看影院免费天天看| 亚洲麻豆精品国偷自产在线91| 香港特级三A毛片免费观看| 日本无吗免费一二区| 视频免费1区二区三区| 久久精品国产亚洲一区二区三区| a一级爱做片免费| 亚洲成av人片在线观看无码不卡| 成人精品一区二区三区不卡免费看| 亚洲成AV人片在线观看WWW| 久久精品视频免费看| 亚洲国产香蕉碰碰人人| 在线看片韩国免费人成视频| 亚洲人精品亚洲人成在线| 国产jizzjizz视频全部免费| 国产精品福利片免费看| 亚洲处破女AV日韩精品| 免费人成在线观看69式小视频| 亚洲AⅤ男人的天堂在线观看 | 亚洲成在人线av| 我的小后妈韩剧在线看免费高清版| 亚洲日韩国产AV无码无码精品| 免费中文字幕不卡视频| 中国一级特黄的片子免费| 亚洲精品视频免费在线观看| 成人免费看片又大又黄| 成人片黄网站色大片免费观看cn | 亚洲熟妇AV一区二区三区宅男| 国产免费怕怕免费视频观看| 中文字幕免费在线播放| 亚洲一区中文字幕在线观看| 亚洲阿v天堂在线2017免费| 香蕉成人免费看片视频app下载| 亚洲已满18点击进入在线观看|