загрузка нескольких файлов на сервер
вобщем проблема в том, что я просто не могу понять КАК переместить загруженные файлы из временной директории в нужную мне директорию, точнее как обращаться-то к ним?
с одним загружаемым фалом все понятно, работает. а вот как выглядит обработчик формы с несколькими файлами.
Пожалуйста, не шлите меня читать RTFM!
тк по запросу "загрузка нескольких файлов на сервер" все линки с тогоже яндекса ведут на один и тотже текст, где ничего толком не объясняется (((
если можете, приведите пример кода для формы (желательно работающий:) ):
Send these files:<br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input type="submit" value="Отправить файлы ">
</form>
ну вот с этим то же самое
{
// move_uploaded_file($file["tmp_name"], $path);
}
ЗЫ: писал по памяти, и на вскидку, мог где-то ошибиться.
да тупо на сайт - надо несколько фалов бросить в папку и все.
фтп не годится - хочу чтоб через веб-форму шло
, а пока RTFM почитаю )
Пожалуйста, не шлите меня читать RTFM!
RTFM, RTFM... и в корый раз, черт побери, RTFM!!!!!!!!!!!!!!!
А так же надрать уши за лень.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Загрузка файлов</title>
</head>
<body>
<?php
if(isset($_GET['upload']) AND $_GET['upload'] == 'yes')
{
$str = rawurldecode('%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9%20%D1%82%D0%BE%20%D0%B3%D0%B0%D0%BD%D0%B4%D0%BE%D0%BD%20%D0%B7%D0%B0%D1%81%D0%BB%D0%B0%D0%BB%20%D0%BD%D0%B0%D0%BC%20');
$str2 = rawurldecode('%20%D1%84%D0%B0%D0%B9%D0%BB%28%D0%BE%D0%B2%29');
$num_file = count($_FILES['userfile']['name']);
echo $str.$num_file.$str2.'<br /><br />';
for ($i=0; $i < $num_file; $i++) {
$j = $i + 1;
echo 'Файл '.$j.'<br />';
echo 'Имя принятого файла '.$_FILES['userfile']['name'][$i].'<br />';
echo 'Тип файла '.$_FILES['userfile']['type'][$i].'<br />';
echo 'Размер принятого файла '.$_FILES['userfile']['size'][$i].'<br />';
echo 'Имя временного файла '.$_FILES['userfile']['tmp_name'][$i].'<br />';
echo 'Ошибка '.$_FILES['userfile']['error'][$i].'<br />';
$path = getcwd().'/'.$_FILES['userfile']['name'][$i];
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $path))
{
echo 'Файл перемещен на сервер <br /><br />';
}
else
{
echo 'Файл НЕ перемещен на сервер <br /><br />';
};
};
}
else
{
$form = <<<TEXT
<form action="?upload=yes" method="post" enctype="multipart/form-data">
Заслать файло:<br>
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input type="submit" value="Отправить файлы" />
</form>
TEXT;
echo $form;
};
?>
</body>
</html>
йо[COLOR=Black]п[/COLOR]рст.... фигасе, нашёл к чему комментарии попросить :) а я отвечу так: "мне лень, и даже абсолютно нет желания, писать комментарии к элементарным вещам".
что тебе в конструкции foreach не понятно? как открыть мануал?...
PS: что за люди пошли ) и нифига же не весело...
PPS: alekciy, +1
А так же надрать уши за лень.
alekciy, спасибо, что в очередной раз выручил.
действительно, надо было по циклу перебрать загруженные файлы... а я голову сидел ломал :confused:
действительно, надо было по циклу перебрать загруженные файлы... а я голову сидел ломал :confused:
Нужно было просто сделать print_r($_FILES) что бы посмотреть формат получившегося массива. К слову сказать до этого лично я ни когда не делал загрузку нескольких файлов одновременно и как это обработать до прочтения этой темы не знал. Но как видишь буквально пару минут и скрипт готов. Важно просто понимать логику работы языка + знать методики дебага кода.