динамический номер загрузки файла - PHP - PullRequest
0 голосов
/ 04 июня 2011

Я создаю страницу, когда пользователь может ввести, сколько файлов он хочет загрузить, затем эта страница снова отображается с помощью формы, после отправки на другую страницу файлы загружаются.
Но я получаю сообщение об ошибке [если я загружаю 1 файл, иначе проблема в пользовательском файле [limit-1]]
Notice: Undefined index: userfile0 in E:\wamp\www\uploader\uploader.php on line 10

Я вставляю сюда свой код index.php

<html>
<?php
if (isset($_POST['num']) && !empty($_POST['num']))
{
?>
<form name="uploader" action="uploader.php" method="post">
<table>
<tr><td>Title</td><td>Select File</td><td>Description</td></tr>
<input type="text" name="number" value="<?php echo $_POST['num']; ?>"/>
<?php
for ($i=0;$i<$_POST['num'];$i++)
 echo '<tr><td><input type="text" name="title'.$i.'"/></td>
           <td><input type="file" id="userfile'.$i.'" name="userfile'.$i.'" size="30"></td>
           <td><textarea name="desc'.$i.'" rows="4"></textarea></td></tr>';
?>
</table>
<input type="submit" name="b" value="Submit"/>
</form>
<?php
}
else
{
?>
<form name="form" method="post">
How many files to upload ? <input type="text" name="num" value="1"/>
<input type="submit" value="Submit"/>
</form>
<?php
}
?>
</html>

uploader.php

<?php
if (isset($_POST['number']))
{
 for ($slot = 0; $slot < $_POST['number']; $slot++)
 {
  $title = $_POST["title$slot"];
  $desc = $_POST["desc$slot"];
  if (move_uploaded_file($_FILES["userfile$slot"]['tmp_name'],$_FILES["userfile$slot"]['name']))
   echo $name.' file Uploaded !';
  else
   echo ' file not Uploaded ! ';
 }
}
?>

Edit
SQL код удален

Ответы [ 2 ]

2 голосов
/ 04 июня 2011

Вам нужен enctype="multipart/form-data" для вашего <form> тега, иначе он не сможет загружать файлы / PHP не сможет его прочитать.

1 голос
/ 04 июня 2011

Вам также следует проверить наличие файла перед тем, как загружать его.

if (isset($_FILES['userfile'.$slot])) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...