我有一个简单的PHP脚本,允许用户上传照片。我想知道如何转换此脚本以使用户能够同时上传多张照片。
这是php脚本的一部分:
if (isset($_FILES['images'], $_POST['album_id'])) {
$image = addslashes(file_get_contents($_FILES["images"]["tmp_name"]));
$image_name = addslashes($_FILES['images']['name']);
$image_size = getimagesize($_FILES["images"]["size"]);
$image_temp = addslashes($_FILES['images']['tmp_name']);
$allowed_ext = array('jpg', 'jpeg', 'png', 'gif');
$ex = explode('.', $image_name);
$image_ext = strtolower(end($ex));
$album_id = $_POST['album_id'];
我需要对此部分进行哪些更改才能允许多次上传? 我知道在那里应该有一个foreach循环,但我不知道放在哪里。
答案 0 :(得分:0)
Mike这是一个粗略的解决方案,我不会在这里编写完整的代码,但我会解释它背后的逻辑。
您有两种方法,一种是手动命名每个字段(这意味着您只限于手动添加的字段数)或使用数组。这两种方法之间的唯一区别是你将它们“指向”你的php脚本的方式。如果您为每个字段使用预定义名称,那么您可以正常调用它们,但如果您使用数组方法,则需要使用如下格式:$_FILES['FIELDNAME']['#ID']
(#ID从0开始到创建的字段数 - 1,所以你可以做一段时间并全部通过它们。
所以你在html页面中有你的字段,在php页面中你会使用for循环来浏览它们。因此,您可以使用当前的PHP代码进行单个上传,然后浏览每个字段并逐个上传。这是一个例子:
for($i = 0; $i < count($_FILES['FILENAME']); $i++){
// USE YOUR UPLOAD SCRIPT HERE AND MAKE SURE YOU REPLACE YOUR CURRENT FILENAME to $_FILES['FILENAME'][$i]
}