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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Принять на сервере массив файлов

Сообщения:  [1-10]   [11-14] 

 
 автор: Eugene77   (01.02.2008 в 12:59)   письмо автору
 
   для: Eugene77   (01.02.2008 в 12:07)
 

Ладно, спасибо всем, кто помогал, и кто не очень...
Я махнул на все тонкости PHP рукой и сделал стандартно как в фортране (или в СИ) -не важно, но на PHP не похоже:
<? 
for ($i=0$_FILES["image"]['tmp_name'][$i]!=NULL$i++){
    if (!empty(
$_FILES['image']['tmp_name'][$i]) && $_FILES['image']['tmp_name'][$i] != "-")
............
И так далее далее и далее
Надеюсь
хоть кто-нибудь похохочет над таким синтаксисом!
}

Зато работает!
Приходится, конечно, на скрипт смотреть зажмурившись, ну или через тёмные очки, но не всё коту масленница!

   
 
 автор: olejek   (01.02.2008 в 12:36)   письмо автору
 
   для: Eugene77   (01.02.2008 в 12:07)
 

for ($i=0; $i<=count($_FILES['userfile']); $i++)
        {
        move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $path);
        }


А в предыдущем коде действительно была ошибка!

   
 
 автор: mihdan   (01.02.2008 в 12:11)   письмо автору
 
   для: Eugene77   (01.02.2008 в 12:07)
 

1. Какие строки, какие столбцы? Вы о чем. Что не можете в цикле по массиву пройти?


<?
foreach ($_FILES["userfile"] as $file) {
   
move_uploaded_file($file["tmp_name"], $path.$file["name"]);
}
?>


2. Как же вы читали? Второй пример как раз на загрузку нескольких файлов!

   
 
 автор: Eugene77   (01.02.2008 в 12:07)   письмо автору
 
   для: mihdan   (01.02.2008 в 11:21)
 

>http://phpclub.ru/detail/article/upload

Признаться, яснее не стало. Да и нового вроде бы ничего не узнал.
Загрузка одного файла - это я знаю. А серверная сторон а для нескольких - не рассмотрена.

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

   
 
 автор: mihdan   (01.02.2008 в 11:21)   письмо автору
 
   для: Eugene77   (30.01.2008 в 15:14)
 

http://phpclub.ru/detail/article/upload

   
 
 автор: Eugene77   (01.02.2008 в 11:05)   письмо автору
 
   для: sim5   (31.01.2008 в 18:53)
 

>Важно, если вы действительно хотите понять как принять массив файлов. Ибо у вас опять возникнут вопросы.)

Вы правы. Опять у меня ерунда получается:

Array ( [0] => d120_600.jpg [1] => b120_240.jpg [2] => b100_100.jpg [3] => )

Array ( [0] => image/jpeg [1] => image/jpeg [2] => image/jpeg [3] => )

Array ( [0] => C:\WINDOWS\TEMP\php49.tmp [1] => C:\WINDOWS\TEMP\php4A.tmp [2] => C:\WINDOWS\TEMP\php4B.tmp [3] => )

Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 4 )

Array ( [0] => 167667 [1] => 255458 [2] => 367811 [3] => 0 )

вот такие чудеса я получаю циклом
foreach ($_FILES["image"] as $file){

Так я и не пойму как этот цикл правильно записать. И что именно мне надо понять.
Неужели нет готового рецепта?! Никто не знает как принимаются массивы файлов или это секрет? Или правилами форума запрещено разглашать такую информацию?
Или таким как я чайникам полезнее посещать Гугл, чем этот форум?

   
 
 автор: sim5   (31.01.2008 в 18:53)   письмо автору
 
   для: Eugene77   (31.01.2008 в 17:27)
 

Важно, если вы действительно хотите понять как принять массив файлов. Ибо у вас опять возникнут вопросы.)

   
 
 автор: Eugene77   (31.01.2008 в 17:27)   письмо автору
 
   для: olejek   (31.01.2008 в 16:54)
 

Вот это понятно, спасибо!

А советы посмотреть структуру массива, мне кожется не совсем уместны в данном случае. Так-ли мне её важно знать. И помогает ли она записать это простое выражение?!

   
 
 автор: olejek   (31.01.2008 в 16:54)   письмо автору
 
   для: Eugene77   (31.01.2008 в 16:35)
 

foreach ($_FILES["userfile"] as $file)
{
   move_uploaded_file($file["tmp_name"], $path);  //плюс всякие проверки
}

   
 
 автор: Eugene77   (31.01.2008 в 16:35)   письмо автору
 
   для: Unkind   (30.01.2008 в 17:04)
 

Вот она структура массива:

Array ( 
[image] => Array ( 
[name] => Array ( [0] => b100_100.gif 
                  [1] => b100_100.jpg 
                  [2] => b120_240.gif 
                  [3] => b120_240.jpg [4] => )
[type] => Array ( [0] => image/gif 
                  [1] => image/jpeg 
                  [2] => image/gif 
                  [3] => image/jpeg 
                  [4] => ) 
[tmp_name] => Array ( [0] => C:\WINDOWS\TEMP\phpAB.tmp 
                      [1] => C:\WINDOWS\TEMP\phpAC.tmp 
                      [2] => C:\WINDOWS\TEMP\phpAD.tmp
                      [3] => C:\WINDOWS\TEMP\phpAE.tmp
                      [4] => ) 
[error] => Array ( [0] => 0 
                   [1] => 0 
                   [2] => 0 
                   [3] => 0 
                   [4] => 4 ) 
[size] => Array ( [0] => 5759 
                  [1] => 367811 
                  [2] => 15141 
                  [3] => 255458 
                  [4] => 0 ) ) )

Но, извините меня, ничего не пойму.
Может быть вы можете просто написать мне цикл копирования из временной директории в постоянную? Надо однажды увидеть реальный цикл, работающий с многомерным массивом, иначе очень трудно сообразить.

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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