Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите! Не могу найти баг! ...опять я... 
V
    Опции темы
sergejzr
Дата 12.2.2006, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



перед циклом поставь $dir_folder=array()
Добавлено @ 02:51
Вообще пхп даёт справку так6

www.php.net/имя_функции_с_которой_не_знаком
например

www.php.net/array_push


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3




0 denis2.jpg 1130625299

1 denis1.jpg 1130625297

array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

красивее но эфекта ноль...



Цитата(sergej.z @ 12.2.2006, 02:49 Найти цитируемый пост)
www.php.net/имя_функции_с_которой_не_знаком
например

www.php.net/array_push

спасибо, действительно полезный совет.
PM MAIL   Вверх
sergejzr
Дата 12.2.2006, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



reset($dir_folder);по моему не надо

Вообще фигня какая то.. Попробуй чтоли прогони параллельно array
Код

$arr=array();
  while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    array_push($arr,$file);

                    array_push($dir_folder,$f);
                    print("<br>");
                    print($dir_folder[$i]->name);
                    print("<br>");
                }
                $i++;
            }
print_r($arr);



что будет?
Добавлено @ 03:07
Цитата(Onis @ 12.2.2006, 00:58 Найти цитируемый пост)
спасибо, действительно полезный совет.

Ну дык smile бесполезных не даём smile)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



0 denis2.jpg 1130625299

1 denis1.jpg 1130625297

Array ( [0] => denis2.jpg [1] => denis1.jpg )
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }


удивительно, и где он там успевает измениться!?
Добавлено @ 03:21
может ошибка в том как я вывожу? а именно в цыкле for ?
Код

for($c=0;$c<count($dir_folder);$c++)
            {
                if($d%10==0)
                    echo("<tr>");
                        
                        echo("<td><a href='$main_page?show=$_GET[show]&image=".$dir_folder[$c]->name."'><img ");
                            echo("height='40px' title='");
                        echo(" alt='$d' src='scripts/thumb2.php?id=../photo/$_GET[show]/".$dir_folder[$c]->name."'></a></td>");
                        $d++;
            }


Это сообщение отредактировал(а) Onis - 12.2.2006, 03:24
PM MAIL   Вверх
sergejzr
Дата 12.2.2006, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



Цитата(Onis @ 12.2.2006, 01:17 Найти цитируемый пост)
может ошибка в том как я вывожу? а именно в цыкле for ?

вряд ли.

reset($dir_folder); убрал? Кстати, можешь убрать global $dir_folder; это тебе не нужно судя по коду


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



эх... похоже ничего не выходит smile(
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



Onis, пойдём драконовскими тупыми методами, - делай
Код

echo "<br>Var dump: ";
var_dump($dir_folder);
echo "<br>";

в цикле заполнения + дальше делай этот же самый код до тех пор, когда $dir_folder становится пустым (после КАЖДОЙ команды - будь то sort или reset). Так мы хотя бы узнаем после какого места в скрипте переменная грохается.

Это сообщение отредактировал(а) Kefir - 12.2.2006, 10:18
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



Var dump(cразу после заполнения):
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

Var dump: до sort
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

Var dump: после sort
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

Var dump: после for
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" }


Явно грохается массив сразу после заполнения:
Код

$dir_folder=array();
            while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    array_push($dir_folder,$f);
                }
                $i++;
            }
    echo "<br>Var dump(cразу после заполнения):<Br> ";
    var_dump($dir_folder);
    echo "<br>";


Это сообщение отредактировал(а) Onis - 12.2.2006, 14:01
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



вместо
Код

            while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    array_push($dir_folder,$f);
                }
                $i++;
            }

поставь
Код

            while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    echo "<br>Var_dump 'f':<br>"; $var_dump($f); echo "<br>";
                    array_push($dir_folder,$f);
                }
                $i++;
                var_dump($dir_folder);
            }

чтобы было видно что и как в цикле
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3




Var_dump 'f':
object(stdClass)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" }
array(1) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } } array(1) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } }
Var_dump 'f':
object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" }
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } } array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

PM MAIL   Вверх
Kefir
Дата 12.2.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



ясно, что уже при заполнении подставляются неправильные значения. идём дальше.
Код

$i = 0;
while (false!==($file=$dir->read()))
            {
                echo "<br>i = ".$i."<br>";
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    echo "<br>Var_dump 'f':<br>"; $var_dump($f); echo "<br>";
                    $dir_folder[$i] = $f;
                    echo "<br>Var_dump 'dir_folder':<br>"; var_dump($dir_folder); echo "<br>";
                }
                $i++;
            }

PM MAIL WWW Skype   Вверх
sergejzr
Дата 12.2.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



Блин, я фигею smile)) Ну конечно одно и тоже, $f ведь не меняется smile))
Чтото мы совсем в глубину забрались, а очевидного не замечаем.

smile попробуй добавить строку
Код

while (false!==($file=$dir->read()))
            {
                echo "<br>i = ".$i."<br>";
                if($file!="." && $file!="..")
                {

$f=new dir_folder;

                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    echo "<br>Var_dump 'f':<br>"; $var_dump($f); echo "<br>";
                    $dir_folder[$i] = $f;
                    echo "<br>Var_dump 'dir_folder':<br>"; var_dump($dir_folder); echo "<br>";
                }
                $i++;
            }



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



i = 0

Var_dump 'f':
object(stdClass)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" }

Var_dump 'dir_folder':
array(1) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } }

i = 1

i = 2

Var_dump 'f':
object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" }

Var_dump 'dir_folder':
array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [2]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

i = 3

smile
Добавлено @ 14:37
Выходит оно как-то заменяет сразу все элементы массива на следующий, а не просто его добовляет... или я чето не понимаю smile
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 13
Всего: 87



sergej.z, да-да. правильно подмечено. А давайте попробуем так:
Код

$name = "";
$time = 0;
while (false!==($file=$dir->read()))
            {
                echo "<br>i = ".$i."<br>";
                if($file!="." && $file!="..")
                {
                    $time=filemtime("photo/".$_GET['show']."/".$file);
                    $name=$file;
                    echo "<br>Name: ".$name."<br>";
                    echo "<br>Time: ".$time."<br>";
                    $dir_folder[$i] = array("time" => $time, "name" => $name);
                    echo "<br>Var_dump 'dir_folder':<br>"; var_dump($dir_folder); echo "<br>";
                }
                $i++;
            }


Это сообщение отредактировал(а) Kefir - 12.2.2006, 14:39
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

Репутация: нет
Всего: 3



sergej.z,
Урра!
Сделал как вы велели:
http://onis.jino-net.ru/?show=denis


i = 0

Var_dump 'f':
object(dir_folder)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" }

Var_dump 'dir_folder':
array(1) { [0]=> object(dir_folder)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } }

i = 1

i = 2

Var_dump 'f':
object(dir_folder)#4 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" }

Var_dump 'dir_folder':
array(2) { [0]=> object(dir_folder)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } [2]=> object(dir_folder)#4 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }

i = 3

Var dump: до sort
array(2) { [0]=> object(dir_folder)#3 (2) { ["time"]=> int(1130625299) ["name"]=> string(10) "denis2.jpg" } [2]=> object(dir_folder)#4 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }
Добавлено @ 14:52
smile smile s smile smile smile smile smile mile=72 smile


Всем респект smile !!!
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.