<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 橘子 閱讀(1039) 評論(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>。

    主站蜘蛛池模板: 91精品全国免费观看含羞草 | 怡红院免费的全部视频| 84pao国产成视频免费播放| 亚洲大尺度无码专区尤物| 亚洲成熟丰满熟妇高潮XXXXX| 久久久久免费看成人影片| 国产乱弄免费视频| 亚洲美女视频免费| 在线美女免费观看网站h| 亚洲蜜芽在线精品一区| 最近免费中文字幕高清大全| 91情国产l精品国产亚洲区| 中文字幕视频免费| 亚洲最大黄色网站| 18禁止观看免费私人影院| 亚洲欧洲日产国码在线观看| 成人免费视频77777| 亚洲人成电影在线天堂| 91福利视频免费观看| 亚洲日本视频在线观看| 国产成人无码免费看视频软件| 中文字幕亚洲情99在线| 日韩一级在线播放免费观看| 国产成人综合亚洲绿色| 无码日韩人妻av一区免费| 亚洲日韩精品无码AV海量| av大片在线无码免费| 亚洲第一区二区快射影院| 免费无码黄网站在线观看| 美女隐私免费视频看| 亚洲日韩激情无码一区| 一道本不卡免费视频| 亚洲精品狼友在线播放| 亚洲免费视频在线观看| 亚洲国产精品日韩在线| 日韩免费高清视频网站| 成人免费视频一区二区| 免费a级毛片18以上观看精品| 亚洲熟女综合一区二区三区| 小小影视日本动漫观看免费| 一级成人生活片免费看|