<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:31 橘子 閱讀(2567) 評論(1)  編輯  收藏 所屬分類: WEB開發

    前面提到了上傳單個文件的方法,上傳多個文件的思想類似
    1、在表單頁面動態生成多個文件提交框,這里注意一下,多個文件提交框的名字要設置為數組,否則只有一個文件會上傳。
    此時在$_FILES數組構造方式是這樣:$_FILES["files"][xxxxfileProperty][xxxcount]; 比如說我要知道第一個文件的error值:$_FILES["userfiles"]["error"][0] ,第一個文件客戶端名字:$_FILES["userfiles"]["name"][0]等等。
    2、接收端接收,操作和單個的是一樣,只是需要做個循環,有多少個文件做多少次循環,以便所有的文件都能正確發送。
    示例代碼:
    表單頁面
    <form enctype="multipart/form-data" action="post.php" method="post">
    &nbsp;&nbsp;文章標題:&nbsp;&nbsp;<input name="title" type="text"/>&nbsp;標題不能為空!
    <br />&nbsp;&nbsp;淘吧名字:&nbsp;&nbsp;<input name="bar_name" type="text"/>
    <?php
    echo "請選擇一個!\t(";
    for ($i=0; $i<count($name); $i++ ){
    ?echo mb_convert_encoding($name[$i]["name"],"UTF-8","GB2312");
    ?echo "? ";
    }
    echo ")";
    ?>
    <br />
    <textarea name="text" cols="90" rows="20"></textarea>
    <?php
    for ($i=0;$i<3;$i++){
    ?echo "<input name=\"userfile[]\" type=\"file\"/>";
    }
    echo "<input name=\"i\" type=\"hidden\" value=\"$i\" />";
    ?>
    </td></tr>
    </table>
    <table align="center" cellpadding="0" cellspacing="0"><tr><td>
    <input name="submit" type="submit" value="確定提交"/>&nbsp;&nbsp;
    <input name="reset" type="reset" value="重新來過"/>
    </form>
    處理頁面
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>提交</title>
    </head>

    <body>
    <?php
    $title=$_POST["title"];
    $text=$_POST["text"];
    $name=$_POST["name"];
    $count=$_POST["i"];
    include_once("數據庫連接文件");
    if (empty($title)||empty($text)||empty($bar_name)){
    ?echo "標題或內容不能空
    ?die("<br /><a href=\"index.php\">重新來過</a>");
    }

    /*這里是數據查詢語言取出要用的數據*/

    if(in_array("0", $_FILES['userfile']['error'])){//上傳文件開始
    ?$uploaddir= 'attfile/';//設置上傳的文件夾地址
    ?$FILES_EXT=array('.gif','.jpg','.mp3','.3gp');//設置允許上傳文件的類型
    ?$MAX_SIZE = 20000000;//設置文件上傳限制20000000byte=2M
    ?for ($i=0;$i<$count;$i++){
    ??$FILES_NAME=$_FILES['userfile']['name'][$i];//客戶端文件名
    ??//取出文件后綴名,strrpos()從標記開始前字節個數(不算標記),substr()顯示從第strrpos()之后的字符
    ??$file_ext=substr($FILES_NAME,strrpos($FILES_NAME,"."));
    ??//檢查文件大小
    ??if($_FILES['userfile']['size'][$i]>$MAX_SIZE){
    ???echo "文件大小超程序允許范圍!";
    ???exit;
    ??}
    ??//檢查文件類型
    ??if(in_array($file_ext, $FILES_EXT)){
    ???$_FILES['userfile']['name'][$i]=date("YmdHis").rand(10000,1000000).$file_ext;
    ???//echo $_FILES['userfile']['name'][$i];
    ???$uploadfile = $uploaddir.$_FILES['userfile']['name'][$i];//上傳后文件的路徑及文件名
    ???//echo $uploadfile;
    ???//用move函數生成臨時文件名,并按照 $_FILES['userfile']['name']上傳到$uploaddir下
    ???if (move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $uploadfile)) {
    ????//將上傳后的路徑寫入到數據庫中
    ????$post_id=(int)$post_id;
    ????$uploadfile="attfile/".$_FILES['userfile']['name'][$i];
    ????$sql=插入語句
    ????$stmt=$db->prepare($sql);
    ????$stmt->execute();
    ????print "<br />文件\n{$FILES_NAME}\n上傳成功!";
    ???} else {
    ????print "上傳錯誤!? 以下是上傳的信息:\n";
    ????print_r($_FILES);
    ???}
    ??}
    ??else{
    ???echo "{$FILES_NAME}\n不是允許上傳的文件類型!";
    ???exit;
    ??}
    ?}
    }

    ?>
    </body>
    </html>


    評論

    # re: php上傳多個文件  回復  更多評論   

    2009-06-01 17:58 by 小吳~!
    專家好啊~!
    看了您寫的這邊代碼,首先太興奮了!不但能上傳,其他信息也都被保存到了數據庫下。但有一個問題,就是我的怎么同時插入三條記錄到數據庫啊!就是一張圖片一條記錄,三張就是三條記錄,其他的信息都一樣的,標題、內容等等。
    能不能修改成用三個字段來分別保存三張圖片的路徑和地址,這樣只是一條記錄的啊?真的好期待專家幫我解決,我的email:wuzhongru@yahoo.cn QQ:89587096 期待~~~~~~~~佳音!在此感謝啊!
    主站蜘蛛池模板: 亚洲av无码片vr一区二区三区 | 午夜免费啪视频在线观看 | 久久国产精品免费视频| 亚洲综合国产一区二区三区| 特a级免费高清黄色片| 亚洲精品国产V片在线观看| 特级毛片爽www免费版| 中文字幕亚洲日本岛国片| 一级做a爰片久久毛片免费陪 | 亚洲精品国产精品乱码在线观看| 国产精品免费久久久久电影网| MM131亚洲国产美女久久| GOGOGO免费观看国语| 亚洲av色影在线| 最新黄色免费网站| 亚洲精品午夜国产va久久| 好吊妞788免费视频播放| 日韩亚洲翔田千里在线| 国产亚洲精aa成人网站| 无码日韩精品一区二区三区免费| 久久综合亚洲色HEZYO社区| 午夜宅男在线永久免费观看网| 亚洲国产精品无码久久久秋霞1| 日批日出水久久亚洲精品tv| 中文字幕视频在线免费观看| 亚洲精品免费视频| 免费无码成人AV片在线在线播放| 免费人成大片在线观看播放电影| 亚洲日韩欧洲无码av夜夜摸 | 免费无遮挡无码视频网站| 一级a性色生活片久久无少妇一级婬片免费放 | 国产成人精品123区免费视频| 亚欧洲精品在线视频免费观看 | 国产精品九九久久免费视频| 78成人精品电影在线播放日韩精品电影一区亚洲 | 91亚洲自偷在线观看国产馆| 国产精品成人免费综合| 国产一级片免费看| 亚洲一卡一卡二新区无人区| 亚洲欭美日韩颜射在线二| 毛片免费全部播放无码|