今天是: | 首页 | 营销咨讯 | 推销技巧 | 网络营销 | 论文大全 | 外贸知识 | 市场信息 | 留言咨询 | 论坛 |
最 新 文 章
普通文章解读二八理论和长尾理论在…
普通文章雅虎倒向谷歌被反垄断部门…
普通文章网络视频营销漫路求索
普通文章涂料是否适合网络营销
普通文章IMPACT揭秘网络营销秘诀
普通文章广告也要得民心,令人生厌…
普通文章谷歌在华战略转向中小企业
普通文章博客营销文章写作技巧
普通文章网盛1800万收购中华纺织网
普通文章互联网进入营销阶段
最 新 热 门
普通文章解读二八理论和长尾理论在…
普通文章雅虎倒向谷歌被反垄断部门…
普通文章网络视频营销漫路求索
普通文章涂料是否适合网络营销
普通文章IMPACT揭秘网络营销秘诀
普通文章广告也要得民心,令人生厌…
普通文章谷歌在华战略转向中小企业
普通文章博客营销文章写作技巧
普通文章网盛1800万收购中华纺织网
普通文章互联网进入营销阶段
最 新 推 荐
推荐文章网站策划之栏目策划
推荐文章网络营销--创意致胜 充满“…
推荐文章Web2.0创业者面临艰难选择…
相 关 文 章
  • 如何恢复Photoshop的缺省设置

  • PHP.MVC的模板标签系统(三)

  • PHP.MVC的模板标签系统(五)

  • IIS环境下安装PHP5手记

  • 在Windows2000ADV下配置Apac…

  • PHP安全配置

  • Win2003下APACHE+PHP5+MYSQL…

  • PHP5在Apache下的两种模式的…

  • PHP网页优化

  • php 4 和 Php 5 共存新法

  • Q
    您现在的位置: 推销员 >> 网络营销 >> 网站建设 >> PHP代码学习 >> 文章正文
    上传多个文件的PHP脚本
    译者注:本文的原名是《Creating a Multi-File Upload Script in PHP》。我个个觉得这文章写得一般,代码也不是非常专业,但是它比较短,而且一时间也找不到好一点的文章,就把这个译过来了。其实PHP手册里也有一节是说多文件上传的,大家可以对比对比。文章内有的字句译出来不太顺眼,所以按照原意作了一定量的修改。本人水平有限,还望各位高手多指点。

    导言

      作为一个PHP的程序员,我曾遇到过这么一个客户,他需要一个可以同时上传多个文件的表单。因此,一天夜里我就用了一个小时的时间,找到了最好最简单的方法来完成这个要求。在这篇教程里,“for”这个循环语句,将会成为核心代码。

    脚本1:让用户设定需要上传的文件数目

    uploadForm1.php

    <html>
    <head>
    <title>文件上传</title>
    </head>
    <body>
    <form name="form1" method="post" action="uploadForm2.php">
    <p>请输入你要同时上传的文件的数目,最大值是9</p>
    <p>
    <input name="uploadNeed" type="text" id="uploadNeed" maxlength="1">
    </p>
    <p>
    <input type="submit" name="Submit" value="Submit">
    </p>
    </form>
    </body>
    </html>

      上面的HTML代码非常简单。在这段代码里,我把uploadNeed这个组件的maxlength属性设为1,那么用户所能输入的最大值就是9了。当然,你可以根据需要自行修改这部份。

    脚本2:创建动态表单

      好了,做好下面的这个页面以后,我们就完成全部工作的一半了。我们用for循环语句来完成这个任务。

    uploadForm2.php

    <html>
    <head>
    <title>文件上传</title>
    </head>
    <body>
    <form name="form1" enctype="multipart/form-data" method="post" action="processFiles.php">
    <?php
    // 创建动态表单
    $uploadNeed = $_POST['uploadNeed'];
    for($x=0;$x<$uploadNeed;$x++){
    ?>
    <input name="uploadFile<?php echo $x;?>" type="file" id="uploadFile<?php echo $x;?>">
    <?php
    // 完成循环
    }
    ?>
    <input name="uploadNeed" type="hidden" value="<?php echo $uploadNeed;?>">
    <input type="submit" name="Submit" value="Submit">
    </form>
    </body>
    </html>

      在这个页面里,我只是创建了一个带有“type”属性的HTML表单。在表单中间,我插入了一段PHP代码来完成循环。我把$x设为0并且把循环次数设为所需要的值$uploadNeed(就是刚才用户提交的那个值)。我还把$uploadNeed的值输出到hidden域里,以便它能传递到最后的一个页面。

      作这些工作的目的是为了把$x这个变量的值,加在“name”属性的值“uploadFile”的后面。这样每个“name”属性的值“uploadFile”的后面都会有一个不同的数字来区别第一个文件。

    脚本3:处理上传文件

    现在就来完成上传文件的最后一步

    processFiles.php

    <?php
    $uploadNeed = $_POST['uploadNeed'];
    // 开始循环
    for($x=0;$x<$uploadNeed;$x++){
    $file_name = $_FILES['uploadFile'. $x]['name'];
    // 去除文件名中的特殊字符
    $file_name = stripslashes($file_name);
    $file_name = str_replace("'","",$file_name);
    $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
    // 检查是否复制成功
    if($copy){
    echo "$file_name 上传成功<br />";
    }else{
    echo "$file_name 上传失败<br />";
    }
    } // 结束循环
    ?>

      在这个脚本里,我们首先要从uploadForm2.php中获取$uploadNeed这个变量。和前页那个页面一样,我们用“for”语句来还创建循环。不同的时,我们需要在循环内使用预定义全局变量$_FILES,我把它传递给了$file_name这个变量。

      下一步,我们调用了stripslashes和str_replace两个函数来处理。由于文件名内可能包含一些特殊字符,所以我们使用stripslashes函数来防止上传时出现解释错误。

      注意我是如何添加$x这个变量的,在$_FILES里$x会变成数字。这样程序就会知道得处理哪个文件了。

      当我们使用copy函数时,才真正的开始把上传的文件复制到指定目前内。最后还加上了一段简单的代码来判断复制是否成功,并把结果输出到屏幕上。

    本新闻共2页,当前在第1页  1  2  

    上传多个文件的PHP脚本
    作者:佚名 文章来源:www.top-sales.com.cn 点击数: 更新时间:2007-3-22     
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    文章录入:admin    责任编辑:admin 
  • 上一个文章:

  • 下一个文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |