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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как оптимизировать данную конструкцию, if if if ... 
:(
    Опции темы
teplotaya
Дата 29.5.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 10.3.2006

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



1000 картоник лежит в каталоке в виде:

00001.jpg
...
00010.jpg
00999.jpg
....

скрипт выводит их на страницуц по порциям в 300 штук:
номер картинки задается случаенно:

<? 

$id=mt_rand(1,999);  

$p=mt_rand(0,25);  

if (strlen($id)==1) { $bbb="0000";  } 
if (strlen($id)==2) { $bbb="000";  } 
if (strlen($id)==3) { $bbb="00";  } 
if (strlen($id)==4) { $bbb="0";  } 
$aa="micro/".$p."/".$bbb.$id.".jpg"; ?> 

<img src="<? echo($aa); ?>" border="0"  width="10" height="10"></img></a>


так как скрипту для того что бы по сгереренному рэндамом числу вывести картинку
приходится каждый раз обрабатывать такую вот сложную по затратам времени конструкцию
в итоге времени выполнения скрипту нехватает и сервак рубит вывод картинок на половине.
можно ли как нибуть оптимизировать данный скрипт ?
 
PM MAIL   Вверх
Vaulter
Дата 29.5.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Код

for($i = 0;$i < 300; $i++)
{
$p = mt_rand(0,25);
echo "<img src='micro/$p/".sprintf("%05d",mt_rand(1,999)).".jpg border='0' width='10' height='10' />";
}


не уверен что быстрее, но все же, сделал бы именно так smile 


--------------------
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 29.5.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Vaulter @  29.5.2006,  16:39 Найти цитируемый пост)
$p = mt_rand(0,25);

лишнее.

Цитата(Vaulter @  29.5.2006,  16:39 Найти цитируемый пост)
"%05d"

Как мне кажется 04.
 
PM ICQ   Вверх
Vaulter
Дата 29.5.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Цитата(Mal Hack @  29.5.2006,  17:44 Найти цитируемый пост)
лишнее.

смотря по логике 
если вывести из одной папки 300 случ. картинок, то да
если же вывести 300 случ. штук из случ. папок, то нужно


Цитата(Mal Hack @  29.5.2006,  17:44 Найти цитируемый пост)
Как мне кажется 04.

00999.jpg
 


--------------------
PM MAIL WWW ICQ   Вверх
skyboy
Дата 29.5.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



А str_pad будет медленно работать?
Код

$id=mt_rand(1,999);
$filename= str_pad($id,5,"0",STR_PAD_LEFT).".jpg";
 
PM MAIL   Вверх
Mal Hack
Дата 29.5.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Vaulter, прошу прощения, не увиде $p в echo... 
(надо выносить на ". . ")

Цитата(Vaulter @  29.5.2006,  16:48 Найти цитируемый пост)
00999.jpg

Хм, приме из мана:
Код
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

я думаю, что если 4, то будет 1995.
Блин, студия не запускается, проверить не могу smile

Добавлено @ 16:58 
Все, догнал, автору нужно с ведущем 0...


Цитата(skyboy @  29.5.2006,  16:51 Найти цитируемый пост)
А str_pad будет медленно работать?

А черт его знает. Разница в миллисекунды тут не важна. Может автор протестирует? smile 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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