|
|
|
| Как внести значение в <INPUT name="img[]" type="file"> , т.е чтобы в этом поле уже был путь.
Спасибо! | |
|
|
|
|
|
|
|
для: Саша
(05.01.2008 в 22:53)
| | никак | |
|
|
|
|
|
|
|
для: AlexSol
(05.01.2008 в 22:54)
| | Тогда вот такой нюанс.
<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>";
}
?>
|
Если выбрать какойто файл, а потом нажать "+", то он скопируется вместе с выбраным путем. Т.е теоретически этот путь все же где то сохраняется | |
|
|
|
|
|
|
|
для: Саша
(06.01.2008 в 22:17)
| | возможно. но этот параметр только для чтения. | |
|
|
|
|
|
|
|
для: AlexSol
(06.01.2008 в 23:14)
| | Но как тогда происходит процес копирования? Я себе представляю это так, функция в цыкле прокручевает все значения и запихивает их в новый объект. Получается что информация не только для чтения, а значит туда можно записать | |
|
|
|
|
|
|
|
для: Саша
(06.01.2008 в 23:45)
| | ОК. Если туда можно записать, то почему тогда хакеры этим не пользуются?
Я делаю страницу, куда включаю:
<form action="http://mysite.com" method="post" enctype="multypart/form-data">
<input type="file" value="C:/WINDOWS/...нужный файл"/>
</form>
|
При загрузке страницы, я скриптом отправляю форму. Все! Гудбай конфиденциальный файл.
Я себе представляю это так, функция в цыкле прокручевает все значения и запихивает их в новый объект.
Какая функция? Какие значения? Какой объект? Вы о чем вообще? | |
|
|
|
|
|
|
|
для: Саша
(06.01.2008 в 23:45)
| | Процесс копирования объекта встроенными методами сделан на уровне ядра браузера, внутри можно все. Нам же в целях безопасности это делать запрещено. наглядный пример показал SHAman. | |
|
|
|