Autor Zpráva
PostX
Profil *
Potrebujem vygenerovat náhodné pozadia v CSS. Našiel som jeden dobrý skript, avšak "nejako" mi nefunguje. Je to prehľadné - stačí nájsť chybu.
Súbor, v ktorom potrebujem vygenerovať pozadie: http://f-zone.xf.cz/home2.php . Ten ale potrebujem v html, ak by sa to dalo.
Súbor generovacieho skriptu: http://f-zone.xf.cz/rotator.php
Súvisí tiež s http://f-zone.xf.cz/images.ini
Hlavné je zachovať parametre no-repeat a center
Asi to je ale príliš ťažké, no neviem, či niekto príde na to, ako to celé spraviť.
Polaroid
Profil
$pole=array("pozadi-jedna","pozadi-dva","a-tak-dale");
srand((double)microtime()*1e6);
$pozadi=$pole[rand(0,count($pole))];
...
<div style="background-image: url(\"obrazky/<?php echo $pozadi; ?>.jpg\")">
...
nezkoušel jsem to, ale mělo by to fungovat
PostX
Profil *
Hmm, zle pochopene. Ja uz ten kod mam (teda este ovela lepsi, ak si si pozeral rotator.php), ja len potrebujem nasadit toto:

<?php showImage(); ?>

do:

body {
background: #000000 url(tu je to miesto) no-repeat center top;
background-color: #000000;
}

Lenze nemam sajnu, preco to nejde. (teda asi v CSS nefunguje <?php showImage(); ?>)
PostX
Profil *
To body je este v <style> tagoch, som zabudol napisat.
Polaroid
Profil
teda este ovela lepsi
To se dá udělat nějak lépe?
ak si si pozeral rotator.php
Tož rotator som nepozeral, vďaka tomu, že mi to hazijó štyrysta štverku :)

Pokud showImage returnuje nějakou hodnotu, tak to dáš jako <?php echo showImage(); ?>
Pokud ne a ukládá to do nějaké proměnné, tak tam prostě vypíšeš obsah té proměnné.
Pokud to tu hodnotu vůbec nevrací a uchovává si ji to někde vevnitř, tak tam musíš přidat return nebo uložit do nějaké globální proměnné.
PostX
Profil *
Dokelu. Som vám dal zlé linky. Takze doporadia:
http://x-techco.wz.cz/home2.php
http://x-techco.wz.cz/rotator.php
http://x-techco.wz.cz/images.ini

A áno - dá sa to lepšie :-). Môžeš tam zakomponovať napr. funkcie die();, t.j. chybové hlášky, alt obrázku, atdatd. :-))
PostX
Profil *
Vazne sa uz asi vzdavam. Nic nefunguje, nemam sajnu v com je chyba :-S Naozaj prosim, skuste v tom nieco najst. Tu su kody:
________________________
rotator.php:

<?php

/*

Author: Dan Benjamin - http://hivelogic.com/

Copyright (c) 2004 Automatic, Ltd. All Rights Reserved.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.

IN NO EVENT SHALL DAN BENJAMIN, A LIST APART, OR AUTOMATIC, LTD. BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR
LOST PROFITS ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER
ARISING, INCLUDING NEGLIGENCE), EVEN IF DAN BENJAMIN, A LIST APART, OR
AUTOMATIC, LTD. IS AWARE OF THE POSSIBILITY OF SUCH DAMAGES.

*/



# file containg your image descriptions

$IMG_CONFIG_FILE = 'images.ini';



# You shouldn't need to change anything below this point

function showImage( $ini=null ) {
global $IMG_CONFIG_FILE;
# if no custom ini file has been specified, use the default
$ini_file = $ini ? $ini : $IMG_CONFIG_FILE;
# read the config file into an array or die trying
$images = @parse_ini_file($ini_file,true);
if (! $images) {
die('Unable to read ini file.');
}
# pick a random image from the parsed config file
$img = array_rand($images);
# get the selected image's css id if one exists
$id = $images[$img]['id'] ?
sprintf( ' id="%s" ', $images[$img]['id'] ) :
'';
# get the selected image's css class if one exists
$class = $images[$img]['class'] ?
sprintf( ' class="%s" ', $images[$img]['class'] ) :
'';
# get selected image's dimensions
$size = @getimagesize( $images[$img]['src'] );
# if an url was specified, output the opening A HREF tag
if ( $images[$img]['url'] ) {
printf(
'<a href="%s" title="%s">',
$images[$img]['url'],
$images[$img]['title']
);
}
# output the IMG tag
printf(
'<img src="%s" alt="%s" %s %s%s/>',
$images[$img]['src'],
$images[$img]['alt'],
$size[3],
$id,
$class
);
# if an url was specified, output the closing A HREF tag
if ( $images[$img]['url'] ) {
echo('</a>');
}
}


?>
__________________________________
images.ini:

[head_1]
src = IMAGES/background/head_2.jpg
alt = head_2


[head_2]
src = IMAGES/background/head_2.jpg
alt = head_2


[head_3]
src = IMAGES/background/head_3.jpg
alt = head_3


[head_4]
src = IMAGES/background/head_4.jpg
alt = head_4


[head_5]
src = IMAGES/background/head_5.jpg
alt = head_5

[head_6]
src = IMAGES/background/head_6.jpg
alt = head_6


[head_7]
src = IMAGES/background/head_7.jpg
alt = head_7


[head_8]
src = IMAGES/background/head_8.jpg
alt = head_8

_______________________________________
skusam vkladat do, a takto:
<BODY background="<?php showImage(); ?> ">

neskor to bude v:
<style>
body {
background: #000000 url(tu je to miesto) no-repeat center top;
background-color: #000000;
}
<style>

Dakujem.
Ján Kobezda
Profil
Problem je, že showImage() vracia obrázok ako html tag <img>. Tu je upravená verzia rotator.php:
------------------------------------------------------
<?php

/*

Author: Dan Benjamin - http://hivelogic.com/

Copyright (c) 2004 Automatic, Ltd. All Rights Reserved.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.

IN NO EVENT SHALL DAN BENJAMIN, A LIST APART, OR AUTOMATIC, LTD. BE LIABLE
FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR
LOST PROFITS ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER
ARISING, INCLUDING NEGLIGENCE), EVEN IF DAN BENJAMIN, A LIST APART, OR
AUTOMATIC, LTD. IS AWARE OF THE POSSIBILITY OF SUCH DAMAGES.


Modified by Ján Kobezda:
- function showImage() returns only name of image, not <img> tag.

*/



# file containg your image descriptions

$IMG_CONFIG_FILE = 'images.ini';



# You shouldn't need to change anything below this point

function showImage( $ini=null ) {
global $IMG_CONFIG_FILE;
# if no custom ini file has been specified, use the default
$ini_file = $ini ? $ini : $IMG_CONFIG_FILE;
# read the config file into an array or die trying
$images = @parse_ini_file($ini_file,true);
if (! $images) {
die('Unable to read ini file.');
}
# pick a random image from the parsed config file
$img = array_rand($images);
# get the selected image's css id if one exists
$id = $images[$img]['id'] ?
sprintf( ' id="%s" ', $images[$img]['id'] ) :
'';
# get the selected image's css class if one exists
$class = $images[$img]['class'] ?
sprintf( ' class="%s" ', $images[$img]['class'] ) :
'';
# get selected image's dimensions
$size = @getimagesize( $images[$img]['src'] );
# if an url was specified, output the opening A HREF tag
if ( $images[$img]['url'] ) {
printf(
'<a href="%s" title="%s">',
$images[$img]['url'],
$images[$img]['title']
);
}
# output the img name
printf(
'%s',
$images[$img]['src']
);
# if an url was specified, output the closing A HREF tag
if ( $images[$img]['url'] ) {
echo('</a>');
}
}


?>
Polaroid
Profil
Zdá se mi, že výše uvedený kód jasně ukazuje, jak se dá naprosto jednoduchá věc udělat nesmírně složitě :) Ale asi je to holt moje chyba, že se vše snažím dělat co nejjednoduššeji, aby byl průběh skriptu co nejrychlejší atp., zdá se, že dnešní trendy v programování jsou už asi jinde.
PostX
Profil *
Hh, ukazuje, ale nevie zistit, kde mam chybu :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.