添加多个文件PHP

时间:2012-03-10 13:34:59

标签: php

我有下面的工作脚本,但不是图像1,图像2,图像3,图像4在框的旁边,我想要各自不同的名称。是否有捷径可寻? 提前致谢!! 我还会把它放在哪里     标题(“位置:thankyou.php”);
    出口(); 因为在放入之后的那一刻,它只是直接指向thankyou.php而不是下面的页面(document.php)

<?php
$max_no_img = 4; // Maximum number of images value to be set here
echo "<form method=post action='' enctype='multipart/form-data'>";
echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>";
for ($i = 1;$i <= $max_no_img;$i++) {
    echo "<tr><td>Images $i</td><td>
<input type=file name='images[]' class='bginput'></td></tr>";
}
echo "<tr><td colspan=2 align=center><input type=submit value='Add Image'></td></tr>";
echo "</form> </table>";
while (list($key, $value) = each($_FILES['images']['name'])) {
    //echo $key;
    //echo "<br>";
    //echo $value;
    //echo "<br>";
    if (!empty($value)) { // this will check if any blank field is entered
        $filename = rand(1, 100000) . $value; // filename stores the value
        $filename = str_replace(" ", "_", $filename);
        $add = "upload/$filename"; // upload directory path is set
        copy($_FILES['images']['tmp_name'][$key], $add);
        echo $add;
        //  upload the file to the server
        chmod("$add", 0777); // set permission to the file.

    }
}
?>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

这一行之后:

$max_no_img = 4; 

使用您愿意为每张图片指定的名称定义一个数组:

$imgs_names = array('name for first image' , 'name for second image' , 'name for third image'); //and so on...

而不是:

echo "<tr><td>Images $i</td><td>

写:

echo "<tr><td>Images ".$imgs_names[$i-1]."</td><td>

关于使用header,由于您已使用echo,因此存在问题。 在文件开头添加ob_start(),在文件末尾添加ob_flush(), 现在你可以在发送输出后添加标题()。

EDIT2:关于您的评论,还有另一种重定向方式。

添加:

 $submit = true;

后:

chmod("$add", 0777); // set permission to the file.

之后:

    }
}

添加:

if(isset($submit) && $submit)
{
echo '<meta http-equiv="refresh" content="0; url=http://www.yoursite.com/thankyou.php">';
}