Hallo,
ich habe folgendes Problem:
Ich versuche in meinem Forum, mittels BBCode, ein Image anzuzeigen, und dieses, falls zu gross, in der Richten grösse anzuzeigen.
Das anzeigen Funktioniert ohne Probleme.
Ansatz für die Remotefile:
mit fopen() öffnen & width/height raussuchen.. fertig
Der Code dafür:
Der teil des BBCode:
Nicht wundern bei:
$this->resizeBoardImage('\1');
es sind 2 Quote's
Die Funktion resizeBoardImage();
Anzeigen, wie oben schon gesagt funktioniert, nur bekomme ich die Nette Fehler Meldung:
Warning: fopen(\1): failed to open stream: No such file or directory in /home/m/mtk-party.de/public_html/2005/w4lms/bbcode.inc.php on line 79
Weiss jemand warum PHP die Bild-URL nicht ordentlich an die Funtion weiter gibt?
ich habe folgendes Problem:
Ich versuche in meinem Forum, mittels BBCode, ein Image anzuzeigen, und dieses, falls zu gross, in der Richten grösse anzuzeigen.
Das anzeigen Funktioniert ohne Probleme.
Ansatz für die Remotefile:
mit fopen() öffnen & width/height raussuchen.. fertig
Der Code dafür:
PHP-Code:
function getimagesize_remote($image_url) {
$handle = fopen ($image_url, "rb"); # Zeile 79 (Siehe unten Fehler Meldung)
$contents = "";
if ($handle) {
do {
$count += 1;
$data = fread($handle, 8192);
if (strlen($data) == 0) break;
$contents .= $data;
} while(true);
} else return false;
fclose ($handle);
$im = imagecreatefromstring($contents);
if (!$im) { return false; }
$gis[0] = imagesx($im);
$gis[1] = imagesy($im);
$gis[3] = "width={$gis[0]} height={$gis[1]}";
imagedestroy($im);
return $gis;
}
PHP-Code:
$search[]="/\[img](.*)\[\/img\]/si";
$replace[]=$this->resizeBoardImage('\\1');
$this->resizeBoardImage('\1');
es sind 2 Quote's
Die Funktion resizeBoardImage();
PHP-Code:
function resizeBoardImage($url) {
$newwidth ="300";
$newheight = "200";
$file = $this->gd2->getimagesize_remote($url);
$width = $file[0];
$height = $file[1];
if($width > $height && $newheight < $height){
$newheight = $height / ($width / $newwidth);
return '
<span style="border: 1px dotted black">
<a href="'.$url.'">
<img src="'.$url.'" width="'.$width.'" height="'.$newheight.'
alt="Klicke hier um das >Bild in voller Grösse anzuzeigen!" border="0" />
</a>
</span>';
} elseif ($width < $height && $newwidth < $width) {
$newwidth = $width / ($height / $newheight);
return '
<span style="border: 1px dotted black">
<a href="'.$url.'">
<img src="'.$url.'" width="'.$newwidth.'" height="'.$height.'"
alt="Klicke hier um das >Bild in voller Grösse anzuzeigen!" border="0" />
</a>
</span>';
} else {
$newwidth = $width;
$newheight = $height;
}
return '
<span style="border: 1px dotted black">
<a href="'.$url.'">
<img src="'.$url.'" width="'.$newwidth.'" height="'.$newheight.'"
alt="Klicke hier um das >Bild in voller Grösse anzuzeigen!" border="0" />
</a>
</span>';
}
Warning: fopen(\1): failed to open stream: No such file or directory in /home/m/mtk-party.de/public_html/2005/w4lms/bbcode.inc.php on line 79
Weiss jemand warum PHP die Bild-URL nicht ordentlich an die Funtion weiter gibt?
Kommentar