Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.12.2010, 07:57
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 1  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
По умолчанию Определение количестве файлов в папке

Доброе утро)
А как можно с помощью пхп сразу узнать сколько файлов в определенной папке, их расширение, размер и имя?
И как потом лучше сформировать строку, которую бы принял флеш =)

Старый 13.12.2010, 09:30
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
http://tinyurl.com/23sps4y
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 14.12.2010, 00:58
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 3  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Нашел. Но не могу найти команду которая бы сформировала массив в пхп...потом его нужно принять флешу
PHP код:
$stack = array();
 

  foreach (
glob("*.txt") as $filename) { 
  
array_push($stack, $filename."split");

   }
    echo 
"Peremenna9=$stack"; // как мне вывести все элементы массива в строчку? По типу stack.children...и передать их флешу 
Помогите пожалуста

Старый 14.12.2010, 01:28
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Из конкретного проекта. Скрипт для сканирования и передачи содержания директории. Скрипт принимает get-строкой как параметр имя поддиректории ($dir_name ) в некой директории ($dir_general), сканирует заданную поддиректорию и отдает строку вида file1=1.jpg&file2=2.jpg&file3=some.jpg...&total=99 обратно флешке.
Во флешке под as2 использовался вроде sendAndLoad. А может просто load, не помню.
В любом случае во флеше используется LoadVars и разбор ответной строки шел в обработчике onLoad, где данные парсились и раскладывались в массив.
PHP код:
<?php
    $dir_name 
= $_GET['dir_name'];
    
    
//Директория с фотографиями моделей относительно этого скрипта (нужен для его работы)
    
$dir_general = '../img/'; 
    
    
$dir = $dir_general.$dir_name;
    if (!(
$dp = opendir($dir))) die ('err=Неверная директория с изображениями');
    
    
$str = '';
    
    while (
$file = readdir($dp))
    {
        if (
$file != '.' && $file != '..' && is_file($dir.'/'.$file))
        {
            
$files[] = $file;
        }
    }
    
    
closedir($dp);

    
$total = count($files);

    if (
$total > 0)
    {
        
sort($files);
    }
    
    for (
$i = 0; $i < $total ; $i++)
    {
        
$str .= '&file'.$i.'='.$files[$i];
    }
    
$str .= '&total='.$total;

    
$str = substr($str, 1); //отрезаем лишний &
    
echo $str;
?>
Думаю, что комментарии не нужны?
По такому же принципу можно организовать кроме имен и количества и передачу атрибутов.

Код писал сам, в php бываю слабовато и эпизодически, так что скрипт as is.
Сейчас думаю, что лучше наверное формировать XML, отдавать его флешке и там парсить. Особенно, если надо для каждого файла его атрибуты тоже передавать.
__________________
Идите первым!


Последний раз редактировалось mooncar; 14.12.2010 в 01:54.
Старый 14.12.2010, 02:15
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 5  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Спс за код, но в том то и дело что мне нужна лишь функция в php которая бы представляла массив в виде цифр или слов...тоесть echo тын-дын($myarray) //и выводила бы к примеру только так: Елемент1, Елемент2, Елемент3 и т.д.

Можно и подругому сделать конечно через отдельный php
PHP код:
foreach (glob("*.txt") as $filename) {
 echo 
"$filename+sp";  
   } 


Код AS3:
 
	var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("uploader.php")
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
 
function onComplete(e:Event) {
   var loader:URLLoader = e.target as URLLoader;
   if(loader != null) {
 
var sk = loader.data.split("+sp"); 
 
fileRef.addEventListener(Event.COMPLETE, completeHandler); //а эта функция уже для загрузки фоток с именами из массива sk =)
 
   }
}
Но у меня конструкция на отловлю определенных переменных из php. Тоесть как я и писал
PHP код:
echo "Peremennaya1=$stack"; 
а во флеше ловится loader.data.Peremennaya1 и сплитится в массив. Этих переменных в проэкте очень много и создавать каждый раз новый php не целесообразно.

Старый 14.12.2010, 02:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
По голому TCP/IP мы можем передать только строку (текст) или бинарные данные, как мы какой-то массив передадим?
Контекст ведь везде разнородный.
__________________
Идите первым!


Последний раз редактировалось mooncar; 14.12.2010 в 02:37.
Старый 14.12.2010, 02:36
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 7  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Вот именно поэтому я и спрашиваю как массив из пхп переделать в строковую переменную Елемент1, Елемент2, Елемент3

Старый 14.12.2010, 02:49
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Я, к сожалению, владею лишь as2, но мне видится, что с сервера можно гнать любую строку вида va1=value1&var2=value2..., а на стороне флешки ее также разбирать по тому же методу (как и foreach в php):

Код AS1/AS2:
var varNames:Array = new Array(); //этот массив будет ассоциативным
lv.onLoad = function(ok:Boolean)
{
	if (ok)
	{
		for (i in this)
		{
			varNames[i] = this[i];
		}
	}
}
Ну или все-таки смотрите в сторону XML. В PHP есть замечательный класс simpleXML, очень удобный. Собрать данные в XML на сервере, передать его флешке и та его распарсит с помощью (for ... in...)
__________________
Идите первым!


Последний раз редактировалось mooncar; 14.12.2010 в 02:52.
Старый 14.12.2010, 09:59
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 9  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Цитата:
Вот именно поэтому я и спрашиваю как массив из пхп переделать в строковую переменную Елемент1, Елемент2, Елемент3
implode или json_encode
__________________
while(1) {}

Старый 14.12.2010, 10:10
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 10  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Не стал я мучится с этими масивами, просто к строчке в цикле другие приплюсовал с именами файла.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.