您好我试图创建一个脚本来上传多个文件。 到目前为止,所有文件都在上传。
我现在的问题是我需要抓取上传文件的每个文件名,这样我就可以将它们插入到数据库中。
这是我的HTML:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image[]" multiple />
<input type="submit" value="upload" />
这是php:
if (!empty($_FILES['image'])) {
$files = $_FILES['image'];
for($x = 0; $x < count($files['name']); $x++) {
$name = $files['name'][$x];
$tmp_name = $files['tmp_name'][$x];
$size = $files['size'][$x];
if (move_uploaded_file($tmp_name, "../folder/" .$name)) {
echo $name, ' <progress id="bar" value="100" max="100"> </progress> done <br />';
}
}
}
真的希望有人可以帮我这个。 / JL
答案 0 :(得分:4)
你的索引倒退了。 $_FILES
是一个数组,每个上传的文件都有一个元素。这些元素中的每一个都是一个关联数组,其中包含该文件的信息。因此count($files['name'])
应为count($files)
,$files['name'][$x]
应为$files[$x]['name']
(对于其他属性也类似。您还可以使用foreach
循环:
foreach ($_FILES as $file) {
$name = basename($file['name']);
$tmp_name = $file['tmp_name'];
$size = $file['size'];
if (move_uploaded_file($tmp_name, "../folder/" .$name)) {
echo $name, ' <progress id="bar" value="100" max="100"> </progress> done <br />';
}
}
答案 1 :(得分:1)
我认为glob()
功能可以提供帮助:
<?php
foreach(glob("*.jpg") as $picture)
{
echo $picture.'<br />';
}
?>
演示结果:
pic1.jpg
pic2.jpg
pic3.jpg
pic4.jpg
...
请务必在必要时更改文件路径和扩展名。
答案 2 :(得分:1)
感谢您的帮助,我通过简单地创建变量来实现它:
$image_1 = (print_r($files['name'][0], true));
$image_2 = (print_r($files['name'][1], true));
$image_3 = (print_r($files['name'][2], true));