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

Форум PHP

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

 

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

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

тема: Копирование файла в папку
 
 автор: Alessandro   (09.04.2007 в 14:42)   письмо автору
 
 

У меня следующая ситуация :

В массиве приходят полные адреса файлов. Необходимо скопировать эти файлы в указанную папку (у меня это будет в цикле), т.е как-то так :


for($i=0; $i<sizeof($att); $i++) 
  {
  copy($att[$i],'C:/files/'); // вот так не работает он вроде требует указать полный путь куда будет  копировать
  }


Адреса в массиве у меня приходят вот в таком виде :

C:\Documents and Settings\БД\mod_rus.zip

Необходимо чтобы в папке C:/files появился точно такой же файл. Файлы могут быть разного типа (zip,pdf,doc,txt,gif,...) и их может быть штук 20.

   
 
 автор: Саня   (09.04.2007 в 15:18)   письмо автору
 
   для: Alessandro   (09.04.2007 в 14:42)
 

Эээ, и в чём проблема?

   
 
 автор: Alessandro   (09.04.2007 в 15:29)   письмо автору
 
   для: Саня   (09.04.2007 в 15:18)
 

Не работает тот код который я написал выше

   
 
 автор: ddhvvn   (09.04.2007 в 15:50)   письмо автору
 
   для: Alessandro   (09.04.2007 в 15:29)
 

А как же будет работать-то? Во 2 параметре Вы передаете имя папки, а надо имя файла!

   
 
 автор: Valick   (09.04.2007 в 15:55)   письмо автору
 
   для: Alessandro   (09.04.2007 в 15:29)
 

Несколько непонятный подход. Обьясните как у вас попадают в массив "полные адреса файлов", может сделаем подругому, иначе прийдётся парсить, и совершенно верно во втором параметре не хватает именно имени.

   
 
 автор: Alessandro   (09.04.2007 в 16:03)   письмо автору
 
   для: Valick   (09.04.2007 в 15:55)
 

Мне необходимо сделать менюшку следующего вида :

Имя каталога : Ввожу имя каталога

Добавить файлы : Возможность добавления файлов (нужно как яндексе или майле нажимаешь плюсик и можешь добавить еще 1 файл )

Далее используя имя каталога нужно создать такую папку и занести в эту папку все файлы которые были определены.

   
 
 автор: Valick   (09.04.2007 в 16:16)   письмо автору
 
   для: Alessandro   (09.04.2007 в 16:03)
 

Ну ничего себе "из-за угла танк")
Вам нужен усовершенствованный скрипт загрузки файлов не сервер, пример можно посмотреть в каком-нибудь фотоальбоме.

   
 
 автор: Alessandro   (09.04.2007 в 16:28)   письмо автору
 
   для: Valick   (09.04.2007 в 16:16)
 

Первая часть у меня уже есть, я передаю адрес всех файлов в массив, а вот как из массива теперь закинуть в папку не знаю.

   
 
 автор: Alessandro   (09.04.2007 в 17:02)   письмо автору
 
   для: Alessandro   (09.04.2007 в 16:28)
 

А оказалось если очень захотеть можно в космос полететь :

Распишу вдруг кому пригодится :

В меню :

<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> 
<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> 


Не забудьте прикрутить <form> и кнопку

При обработке :

for($i=0; $i<sizeof($att); $i++) 
  {
$uploaddir = 'C:/'; // папка куда копируем файлы


$uploadfile = $uploaddir . basename($_FILES['att']['name']["$i"]);

print "<pre>";
if (move_uploaded_file($_FILES['att']['tmp_name']["$i"], $uploadfile)) {
    print "File is valid, and was successfully uploaded. ";
    print "Here's some more debugging info:\n";
    print_r($_FILES);
} else {
    print "Possible file upload attack!  Here's some debugging info:\n";
    print "Possible file upload attack!  Дополнительная отладочная информация:\n";
    print_r($_FILES);
}

print "</pre>";
    }

   
 
 автор: ddhvvn   (09.04.2007 в 18:00)   письмо автору
 
   для: Alessandro   (09.04.2007 в 17:02)
 

Так то лучше! ;-)

   
Rambler's Top100
вверх

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