Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Экспорт значений переменной из цикла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Достать все значения переменной за пределами цикла
alexpebody
Отправлено: 06 Июня, 2016 - 10:08:41
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Доброго времени.

PHP:
скопировать код в буфер обмена
  1. for($i=0;$i<count($_FILES['xtt']['name']);$i++)
  2. {
  3. $uploaddir = 'files/';
  4. $rstring = RString();
  5.  
  6. $uploadfile = str_replace(array(' ', '_', '+', '-', '—'), '', translitIt(trim(strtolower($uploaddir.basename($rstring.$_FILES['xtt']['name'][$i])))));


Если не вдаваться в подробности, скрипт выше, делает рандомные имена файлов, по условиям, из массива введенных пользователем из <input type "file" multipart name="xtt[]"> Соответственно из этого цикла получаем все файлы из массива $_FILES; Предположим, пользователь загрузил 3 файла, в итоге имеем 3 имени например значение переменной в цикле $uploadfile:

files/qstgmzboximg3.png
files/ywvoc7boximg2.png
files/t81u4mboximg.png

Пожалуйста подскажите, как можно получить все эти значения переменой $uploadfile, за пределами этого цикла?

Пробовал использовать $GLOBALS, не помогает, получаю только последнее значение. На текущий момент нашел решение использовать внешний текстовый файл, в который цикл пишет все значение переменной $uploadfile, но это очень неудобно, т.к. файл формируется не мгновенно, отсюда проблемы.

ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО! Извиняюсь если где то затупил. Не понял

(Отредактировано автором: 06 Июня, 2016 - 11:06:20)

 
 Top
Viper
Отправлено: 06 Июня, 2016 - 12:11:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




PHP:
скопировать код в буфер обмена
  1. $uploadfile = str_replace(array(' ', '_', '+', '-', '—'), '', translitIt(trim(strtolower($uploaddir.basename($rstring.$_FILES['xtt']['name'][$i])))));
никогда не пишите в одну строку несколько функций, это признак быдлокода, а как минимум неуважения к самому себе.

alexpebody пишет:
Пожалуйста подскажите, как можно получить все эти значения переменой $uploadfile, за пределами этого цикла?
массив для кого изобрели? Внутри цикла в массив добавили, за циклом получили из массива.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
alexpebody
Отправлено: 06 Июня, 2016 - 12:16:34
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Viper пишет:
никогда не пишите в одну строку несколько функций, это признак быдлокода, а как минимум неуважения к самому себе.

Учту, спасибо.
Viper пишет:
массив для кого изобрели? Внутри цикла в массив добавили, за циклом получили из массива.

Или я тупой, или не понимаю как это сделать, пробовал в массив, пробовал в куки, пробовал в сессию, все одно = получаю только последний элемент: $uploadfile

Можете подсказать? Пробовал самое простое: $uploadfile = array($uploadfile);

Как бы ни пробовал, получаю только последнее значение: Array ( [0] => files/4lanq7boximg.png ) уже голова болит, с утра мучаю, где то что то мелочь не понимаю.

---

ОМГ )))))))) вроде нашел решение, Госпади, все же много проще... $array[] = $uploadfile;

з.ы. Вот у меня всегда так, как в чем то сложном, более менее сразу нахожу решение, а в простом могу затупить на пол дня. ИМХО бред. Еще раз СПАСИБО!

(Отредактировано автором: 06 Июня, 2016 - 12:25:32)

 
 Top
Viper
Отправлено: 06 Июня, 2016 - 13:07:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




alexpebody пишет:
ОМГ )))))))) вроде нашел решение, Госпади, все же много проще... $array[] = $uploadfile;
Улыбка

PHP:
скопировать код в буфер обмена
  1. $array = array();
  2.  
  3. for/foreach (expression) {
  4.         ...
  5.         $array[] = 'some_value';
  6.         ...
  7. }

(Отредактировано автором: 06 Июня, 2016 - 14:52:13)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
alexpebody
Отправлено: 06 Июня, 2016 - 13:28:48
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Именно так и сделал )) спасибо большое!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB