У меня есть сценарий, который я разрабатываю для загрузки до 10 файлов одновременно. У меня есть 10 отдельных входов в моем html:
<?php
for($i=0;$i<10;++$i) {
$num = $i+1;
echo '
<span>'.$num.'</span><input type="file" name="photo'.$i.'" />
';
}
?>
И затем у меня есть загрузчик, который я использовал раньше - в немного другой форме - но теперь он не может работать:
$path = "../path/to/folder/";
for($i = 0; $i < 20; $i++){
$fileName = "photo". "$i";
$filePath = "$path". "photo$i.jpg";
if (!empty($_FILES['$fileName']['tmp_name'][$i])) {
if (!copy($_FILES['$fileName']['tmp_name'][$i], $filePath)) {
echo "failed to save '.$filePath.'";
}
chmod($filePath, 0644);
}
}
В рабочей версии этого скрипта я вырезал цикл for и просто нумеровал каждую закачку отдельно (у меня этот кусок кода без цикла был 10 раз каждый со своим номером). Это отлично сработало, но смотреть на такой фрагмент кода действительно довольно уродливо. Любые идеи, как заставить это работать?
ОБНОВЛЕНО:
Все еще не повезло, я ценю всю помощь. Я думаю, что моя проблема заключается в том, что массивы $_FILES не заполняются должным образом:
изменил HTML на:
<?php
for($i=0;$i<10;++$i) {
$num = $i+1;
echo '
<span>'.$num.'</span><input type="file" name="photo[]" />
';
}
?>
и скрипт загрузки для:
$path = "../path/to/folder/";
for($i = 0; $i < 20; $i++){
$fileName = "photo". "$i";
$filePath = "$path$fileName.jpg";
if (!empty($_FILES["photo"]["tmp_name"][$i])) {
if (!copy($_FILES["photo"]["tmp_name"][$i], $filePath)) {
echo "failed to save '.$filePath.'";
}
chmod($filePath, 0644);
}
}
$_FILES[$fileName]. В противном случае вы получите ошибку:if ( isset( $_FILES[$fileName] ) )...- person poke   schedule 06.10.2010