Welcome, Guest. Please login or register.
Did you miss your activation email?
May 25, 2012, 09:39:06 PM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155528 Posts in 21713 Topics by 7737 Members
Latest Member: chris85
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Random Image and getimagesize  (Read 409 times)
Abenaa

Offline Offline

Posts: 231


« on: November 10, 2009, 08:03:41 PM »

Hallo,
 
ich habe Random Image schon 2 - 3 mal erfolgreich eingesetzt und jetzt passiert mir auf einem anderen Server, dass es kein Hintergrundbild anzeigt. Wenn ich in den Quelltext schaue, steht da folgdende Meldung:

Code:
<div id="header_right" style="background-image: url(<br />
<b>Warning</b>:  getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: URL file-access is disabled in the server configuration in <b>/homepages/.../.../htdocs/modules/randomimage/include.php</b> on line <b>61</b><br />
<br />
<b>Warning</b>:  getimagesize(http://www.....de/templates/.../img/header/header_01.jpg) [<a href='function.getimagesize'>function.getimagesize</a>]: failed to open stream: no suitable wrapper could be found in <b>/homepages/.../.../htdocs/modules/randomimage/include.php</b> on line <b>61</b><br />
http://www.....de/templates/.../img/header/header_01.jpg)">
</div>

Die include.php vom Modul Random Image sieht bei mir so aus:

Code:
<?php

/* Random image snippet

   Call this nsippet with:

        RandomImage ('/media','img'); for normal img tag or
        RandomImage ('/media','bgi'); for background-image

   in your template

*/



function RandomImage($dir,$type) {
    

    
//read folder and get the picture names

    
$folder=opendir(WB_PATH.$dir.'/.'); 

    while (
$file readdir($folder)) 

    
$names[count($names)] = $file

    
closedir($folder);



    
//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==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}

    }



    
//random

    
srand ((double) microtime() * 10000000);

    
$rand_keys array_rand ($names12);

    

    
//random image from array

    
$image=$names1[$rand_keys[0]]; 

    

    
//image dimensions

    
$dimensions GetImageSize(WB_URL.$dir.'/'.$image); 
    
// "normal" image or background ?
    
switch ($type) {
        case 
"img"    :    echo '<img src="'.WB_URL.$dir.'/'.$image.'" '.$dimensions[3].'>';
                            break;
        case 
"bgi"    :    echo WB_URL.$dir.'/'.$image;
                            break;
        default        :    echo 
'<img src="'.WB_URL.$dir.'/'.$image.'" '.$dimensions[3].'>';
    }

}

?>


Kann mir jemand sagen, wie ich dieses Problem beheben kann?
Logged
BerndJM

Offline Offline

Posts: 1764



« Reply #1 on: November 10, 2009, 11:47:15 PM »

Hi,

der Knackpunkt könnte an den WB_URL liegen, z.B. hier:
Code:
$dimensions = GetImageSize(WB_URL.$dir.'/'.$image);

Probiere die Stellen mal mit WB_PATH.
Kann gut sein, daß in deiner Serverkonfiguration der Zugriff auf Dateien über volle URL (also "von außen") unterbunden ist.

Grüßle Bernd
Logged

In theory, there is no difference between theory and practice. But, in practice, there is.
Abenaa

Offline Offline

Posts: 231


« Reply #2 on: November 12, 2009, 12:07:02 PM »

Es funktioniert. Vielen Dank!
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!