background image

  }
  ?>
  <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 函数时,才真正的开始把上传的文件复制到指定目前内。最后还加上了
一段简单的代码来判断复制是否成功,并把结果输出到屏幕上。
结束语
我肯定这个小小的脚本会使你一次上传多个文件的工作变得更方便。你可以根据下列的提