Изпълнение на php в html

kkeliov

Registered
Здравейте първо,

Имам сайт, в който искам да ми се показват случайни снимки от определена папка( която има и под папки, също със снимки).Намерих този скрипт

Код:
<?php

//read folder
$folder=opendir(".");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]];
//image dimensions
$dimensions = GetImageSize($slika);
if (isset($pic)){header ("Location: $slika");}
else {echo "<img src=\"$slika\" $dimensions[3]>";}
?>

Обаче, се измъчих с изпълнението му.Опитвам се да го include-вам в хтмл файла но нищо не става ,после опитах и с ифрейм и така не стана.

Този скрипт ще ми свърши ли работа за това което искам да направя, и какъв е начина за показването на резултата от php файла в html файл.

И по какъв начин ще стане ако искам да го включа в php файл?

Благодаря предварително!
 
Ще ти трябва сървър с PHP.
Сървър който да изпълнява php скриптове.

Не може да изпълниш такъв скрипт в data.bg или hit.bg

Също така не може да го include в HTML файл.
Файла трябва да е php
Къде се опитваш да го стартираш този скрипт?
 
ако нямаш подръжка на php просто забрави. единствения варянт тогава е да ползваш JS но проблема при него е, че трябва да пишеш всяко изображение като линк. Намерих един примерен код, ако искаш го пробвай.

Код:
<HTML>
<head>
<Title> Page Title Here</Title>

<SCRIPT LANGUAGE="JavaScript">




</script>
</head>



<body>

<SCRIPT LANGUAGE="JavaScript">

</script>

</body>
</HTML>
 
Имам си сайт .com, така че няма проблеми с подръжката на php.Иначе имам инсталиран сървър и на компа, поставям този файл в папка www, и html файла също.Обаче не се получава.

Като цяло имам инсталирани форум и галерия.Искам на случаен принцип да се показват снимки от галерията във форума,Всичко е на един хост.

Снимките ще се покават в индекса на форума, така че скрипта искам да го добава в index_body.tpl, но дали ще стане, и при наличието на под папки ще работи ли този скрипт?
 
kkeliov каза:
Имам си сайт .com, така че няма проблеми с подръжката на php.Иначе имам инсталиран сървър и на компа, поставям този файл в папка www, и html файла също.Обаче не се получава.

Като цяло имам инсталирани форум и галерия.Искам на случаен принцип да се показват снимки от галерията във форума,Всичко е на един хост.

Снимките ще се покават в индекса на форума, така че скрипта искам да го добава в index_body.tpl, но дали ще стане, и при наличието на под папки ще работи ли този скрипт?

Просто направи файла от .html да е .php и готово.
 
Забравих да добавя какво ще ми е нужно тези снимки да ми се показват като thumbnail?какво да добавя към този код? Задължително ли е да ги се създават нови файлове с по малки размери, или просто може да се оразмеряват за да се покажат.Също имам и готови thumbnail генерирани от галерията, мога ли да използвам направо тях.Мисля че пред името на оригиналните снимки се добавяше thumb. И има ли вариант кода да се показва не чрез ифреим, а в клетка от таблица.Защото след като добавя кода за ифреима, снимките се показват в оригинален размер, но страницата не се показва до край, а само се изпълнява до този код
 
kkeliov каза:
Също имам и готови thumbnail генерирани от галерията, мога ли да използвам направо тях.Мисля че пред името на оригиналните снимки се добавяше thumb.

Ако имаш готови снимки които са от галерията с добавено thumb
тогава трябва да стане така.

Код:
<?php

//read folder
$folder=opendir(".");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]];
//image dimensions
$dimensions = GetImageSize($slika);
if (isset($pic)){header ("Location: $slika");}
else {echo '<img src="thump'.$slika.' " '.$dimensions[3].'>';}
?>

Сигурен ли си, че е точно thump ?
Да не е thump_ ?

Примерно thump_kartinka.jpg ?
 
Кода го подкарах, върши си работата. но ми покава и снимките с реален размер но без да ги зарежда,Все едно ги нямам качениЗа това ако може да стане да използва готовите thumbs_ ще е доста добре.А и както казах ми създава проблеми с кода, които се намира след ифреима с който го показвам.Ако стане с визуализиране в клетка от таблица ще стане перфектно.Проблема е че има и доста подпапки и не знам дали изобщо ще стане.
 
kkeliov каза:
Кода го подкарах, върши си работата. но ми покава и снимките с реален размер но без да ги зарежда,Все едно ги нямам качениЗа това ако може да стане да използва готовите thumbs_ ще е доста добре.А и както казах ми създава проблеми с кода, които се намира след ифреима с който го показвам.Ако стане с визуализиране в клетка от таблица ще стане перфектно.Проблема е че има и доста подпапки и не знам дали изобщо ще стане.

Дай линк да видя какво се получава.
 
Тъй като в момента нямам достъп до сървъра няма как да ги кача да покажа какво се случва, и ги тествам на РС то ето две снимки на които се вижда какво се получава:
1. Тук след изпълнение на фрема всичко спира

2. Тук се зарежда снимката с голям размер, но не се показва.Останалите с префикс thumbs_ се визуализират без проблем
 
kkeliov каза:
Тъй като в момента нямам достъп до сървъра няма как да ги кача да покажа какво се случва, и ги тествам на РС то ето две снимки на които се вижда какво се получава:
1. Тук след изпълнение на фрема всичко спира

2. Тук се зарежда снимката с голям размер, но не се показва.Останалите с префикс thumbs_ се визуализират без проблем


Не е написан правилно пътя до файла.
НАй вероятно това е причината.
 
След няколко рефреша кода беше:
<img src="thumb_thumb_semkowo 1.jpg " width="500" height="375"> няма визуализация
<img src="thumb_pentaxixds.jpg " width="218" height="212"> има визуализация
<img src="thumb_semkowo 1.jpg " width="500" height="375"> има визуализация
<img src="thumb_thumb_pentaxixds.jpg " width="218" height="212"> няма визуализация
<img src="thumb_thumb_RockHouse46396.jpg " width="399" height="599"> няма визуализация
<img src="thumb_pentaxixds.jpg " width="218" height="212"> има визуализация
<img src="thumb_thumb_semkowo 1.jpg " width="500" height="375"> няма визуализация
<img src="thumb_thumb_RockHouse46396.jpg " width="399" height="599"> няма визуализация
<img src="thumb_thumb_semkowo 1.jpg " width="500" height="375"> няма визуализация

Файловете което имам в папката са:thumb_RockHouse46396.jpg, pentaxixds.jpg, semkowo 1.jpg, thumb_pentaxixds.jpg, thumb_semkowo 1.jpg.

Не знам защо се появява код с thumb_thumb_, при положение че такива файлове няма.ДА не би скрипта д аси ги генерира?

PHP файла е този:

Код:
<?php

//read folder
$folder=opendir(".");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]];
//image dimensions
$dimensions = GetImageSize($slika);
if (isset($pic)){header ("Location: $slika");}
else {echo '<img src="thumb_'.$slika.' " '.$dimensions[3].'>';}
?>
 
<?php

//read folder
$folder=opendir(".");
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//remove any non-images from array
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
//random
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($names1, 2);
//random image from array
$slika=$names1[$rand_keys[0]];
//image dimensions
$dimensions = GetImageSize($slika);
if (isset($pic)){header ("Location: $slika");}
else {echo '<img src="'.$slika.' " '.$dimensions[3].'>';}
?>


Я така пробвай...
 
С този код пак си показва всички файлове в папката.

С предния беше добре само не разбрах защо се генерира и код за файлове, които ги няма в папката.
 

Back
Горе