|
|
|
| Спецы, как сделать так, чтобы пользователь смог загрузить через форму не одну, а штук 15-30 фотографий одновременно. Такое же нужно проделать с файлами. | |
|
|
|
|
|
|
|
для: technic611
(05.01.2006 в 05:22)
| | Вот код которым я воспользовался в одном из своих проэктов:
<?php
if(isset($perm) and $perm=="Y")
{
//Upload файлов
if (move_uploaded_file($_FILES['userfile']['tmp_name'][0], $my->PATH_SCRIPT_PIC."/" . $_FILES['userfile']['name'][0]))
{
echo "Файл ".$_FILES['userfile']['name'][0]." успешно закачан...";
}
else
{
echo "Какие то ошибки...";
}
if (move_uploaded_file($_FILES['userfile']['tmp_name'][1], $my->PATH_SCRIPT_PIC."/" . $_FILES['userfile']['name'][1]))
{
echo "Файл ".$_FILES['userfile']['name'][1]." успешно закачан...";
}
else
{
echo "Какие то ошибки...";
}
.......
if (move_uploaded_file($_FILES['userfile']['tmp_name'][30], $my->PATH_SCRIPT_PIC."/" . $_FILES['userfile']['name'][30]))
{
echo "Файл ".$_FILES['userfile']['name'][30]." успешно закачан...";
}
else
{
echo "Какие то ошибки...";
}
}
<form action="<?php $PHP_SELF; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="150000">
Файл картинки1: <input name="userfile[]" type="file" size="55">
Файл картинки2: <input name="userfile[]" type="file" size="55">
...
Файл картинки30: <input name="userfile[]" type="file" size="55">
<INPUT TYPE="HIDDEN" NAME="permition" VALUE="Y">
<input type="submit" name="Submit" value="Загрузить..."/>
</form>
?>
|
| |
|
|
|
|
|
|
|
для: aalexx
(05.01.2006 в 11:42)
| | >Вот код которым я воспользовался в одном из своих проэктов:
Мне однажды рассказали одну программистскую байку, где фигурировал очень похожий код. Я тогда воспринял это просто как анекдот, но теперь верю что пример был взят из жизни!;)
Вы о циклах ничего не слышали? | |
|
|
|
|
|
|
|
для: Loki
(05.01.2006 в 13:43)
| | Код упрощен до предела, чтоб человеку было понятнее все лишнее я выкинул. Главное чтобы он понял сам механизм а уж минимизация кода дело его принципов. | |
|
|
|
|
|
|
|
для: Loki
(05.01.2006 в 13:43)
| | А что там насчет циклов. Это лучше? | |
|
|
|
|
|
|
|
для: technic611
(06.01.2006 в 04:19)
| | Если вы интересуетесь циклом, то можете воспользоваться следующим скриптом. Он позволяет загрузить произвольное количество файлов на сервер (является ответом на одно из заданий нашей новой книги "PHP-головоломки для хакеров")
<form enctype='multipart/form-data' method=post>
<table>
<tr>
<td><input type="file" size="32" name="att[]" class=input></td>
<td><input type="button" name="drop" value=" − " onclick="dropFile(this);">
<input type="button" value=" + " onclick="addFile(this);"></td>
</tr>
</table>
<input class=button type=submit value='Загрузить'>
</form>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function dropFile(btn)
{
if(document.getElementById)
{
while (btn.tagName != 'TR') btn = btn.parentNode;
btn.parentNode.removeChild(btn);
}
}
function addFile(btn)
{
if(document.getElementById)
{
while (btn.tagName != 'TR') btn = btn.parentNode;
var newTr = btn.parentNode.insertBefore(btn.cloneNode(true),btn.nextSibling);
thisChilds = newTr.getElementsByTagName('td');
for (var i = 0; i < thisChilds.length; i++)
{
if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input size="32" name="att[]" class=input type="file">';
}
}
}
//-->
</script>
<?php
// Обработчик HTML-формы
// Загружаем все файлы на сервер
for($i = 0; $i < count($_FILES['att']['name']); $i++)
{
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
if (copy($_FILES['att']['tmp_name'][$i], "files/".$_FILES['att']['name'][$i]))
{
// Уничтожаем файл во временной директории
unlink($_FILES['att']['tmp_name'][$i]);
// Изменяем права доступа к файлу
chmod("files/".$_FILES['att']['name'][$i], 0644);
}
}
// Осуществляем автоматическую перезагрузку страницы
// если содержимое суперглобального массива $_POST
// не является пустым
if(!empty($_POST))
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=".$_SERVER['PHP_SELF']."'>
</HEAD></HTML>";
}
?>
|
| |
|
|
|