bildgröße (width, height) auslesen?!

-Ener-

Erfahrenes Mitglied
Ich weiss nicht wie ich die Bildgröße bei diesem Script für das per Zufall angezeigte Bild auslesen kann damit ich das Popup mit der Originalgröße öffnen lassen kann...

PHP:
$root = 'Ordner';
$root2 = '';
$od = opendir($root);
$dir_arr = array();
$files = array('jpg','gif');
while($obj = readdir($od)){
if(!preg_match('/^\.{1,2}$/',$obj) && is_dir($root.'/'.$obj)){
$dir_arr[] = $obj;
}
}
closedir($od);
$number = array_rand($dir_arr);
$path = $root.'/'.$dir_arr[$number];
$path2 = $dir_arr[$number];
$od = opendir($path);
$file_arr = array();
while($obj = readdir($od)){
if(!preg_match('/^\.{1,2}$/',$obj) && is_file($path.'/'.$obj) && in_array(strtolower(substr($obj,strrpos($obj,'.')+1)),$files)){
$file_arr[] = $obj;
}
}
$number = array_rand($file_arr);
$size = getimagesize($path2/$file_arr[$number]/$file_arr[$number]/$file_arr[$number]);
printf('
<script type="text/javascript">
function popup() {
bild =
window.open("popup_pic.php?src=Ordner/%s&file=%s", "bild", "width=800,height=600");
bild.focus();
}
</script>',$path2,$file_arr[$number],$file_arr[$number],$file_arr[$number]);
printf('<td width="146" height="110" background="random.php?pic=%s/%s" bgcolor="FFCEE4" border="0"/>',$path,$file_arr[$number],$file_arr[$number],$file_arr[$number]);
printf('<a href="javascript:popup()" onmouseover="status=\'\';return true;" onclick="status=\'\';return true;"><img src="Bilder/rahmen2.gif" width="146" height="110" border="0" alt="">',$path2,$file_arr[$number],$file_arr[$number],$file_arr[$number]);
print('</a></td>');
 
PHP:
$size = getimagesize($path2/$file_arr[$number]/$file_arr[$number]/$file_arr[$number]);
Was soll diese Zeile bezwecken?

Bei deinen printf-Aufrufen hast du immer vier Parameter, obwohl du in der Formatierungszeichenkette nur zwei oder keinen Platzhalter hast. Wo liegt da der Sinn?

Außerdem möchte ich anmerken, dass dein Programmierstil grauenhaft ist ;)
 
Die Zeile war blos ein Versuch, ignorier das einfach =D

Das Script ist nicht von mir, ich hab lediglich die printf`s gefüllt, kann man das Script irgendwie umschreiben das ich nicht dieses %s/%s benutzen muss?
 
Du kannst String-Verkettung nutzen.

Beispiel:
PHP:
$username="Hugo";
echo "Hallo ".$username."!<br>";
print("Hallo ".$username."!<br>");
printf("Hallo ".$username."!<br>");
Dieses Script gibt halt 3 mal untereinander Hallo Hugo! aus.
 
Noch ein Beispiel:
PHP:
$username="Hugo";
printf("Hallo %s!<br>",$username);
printf("Hallo ".$username."!<br>");

Beide Aufrufe geben das gleiche aus, sind also im Ergebnis identisch.
 
Zurück