Habe folgendes Problem: in unserem Forum gibt es für zu grosse Grafiken eine Resize-Funktion … nur leider funktioniert diese nicht auf bplaced
Was kann ich nun tun?
Beispiel auf bplaced:
doublexclan.com/index.php?si … c&topic=85
Funktionierendes Beispiel auf kilu.de :
doublexclan.kilu.de/index.ph … c&topic=85
EDIT: Kann es vielleicht an der php-Funktion getimagesize liegen? Ist die auf bplaced deaktiviert?
azbest
15. Juni 2008 um 07:32
2
list($width_orig, $height_orig, $itype) = getimagesize($filename);
geht mit meine seite.
Dein seite in bplaced:
dein seite in klingu:
list($width_orig, $height_orig, $itype) = getimagesize($filename);
if ($width_orig>521) …
alles was hier deaktiviert ist, ist das Laden von Dateien von externen Servern
[quote=„azbest“]list($width_orig, $height_orig, $itype) = getimagesize($filename);
geht mit meine seite.
Dein seite in bplaced:
dein seite in klingu:
list($width_orig, $height_orig, $itype) = getimagesize($filename);
if ($width_orig>521) …[/quote]
Das ist das Ergebnis … aber die Seiten sind absolut identisch, ich habe die Seiten bei kilu.de erst gestern testweise dort hochgeladen, beide Seiten stimmen zu 100% überein, nur das bei kilu.de die Resize Funktion geht und bei bplaced eben nicht?
EDIT: Um auf Nummer sicher zu gehen übertrage ich jetzt noch einmal die komplette aktuelle bplaced-HP auf kilu.de …
azbest
15. Juni 2008 um 12:11
5
Kanst Du Zeigen diese Resize Funktion ?
[code]//replace [img]-tags
function imgreplace($content) {
global $picsize_l;
global $picsize_h;
$autoresize=1;
if($autoresize==1) {
preg_match_all("|(\[img\])(.*?)(\[\/img\])|i", $content, $imgtags, PREG_SET_ORDER);
foreach($imgtags as $teil) {
$content = str_replace('[IMG]', '[img]', $content);
$content = str_replace('[/IMG]', '[/img]', $content);
$picinfo = getimagesize($teil[2]);
switch($picinfo[2]) {
case 1: $format = "gif"; break;
case 2: $format = "jpeg"; break;
}
if(!$picsize_l) $size_l = "9999"; else $size_l=$picsize_l;
if(!$picsize_h) $size_h = "9999"; else $size_h=$picsize_h;
if($picinfo[0] > $size_l OR $picinfo[1] > $size_h) $content = str_replace('[img]'.$teil[2].'[/img]', '[url='.$teil[2].']<img src="'.$teil[2].'" border="0" width="'.$picsize_l.'" alt="show original"><br>([i]original-size: '.$picinfo[1].'x'.$picinfo[0].'px, '.$format.'[/i])[/url]', $content);
elseif($picinfo[0] > (2*$size_l) OR $picinfo[1] > (2*$size_h)) $content = str_replace('[img]'.$teil[2].'[/img]', '[url='.$teil[2].'][b]Large picture[/b]<br>('.$picinfo[1].'x'.$picinfo[0].'px, '.$format.')[/url]', $content);
else {
$content = str_replace('[img]'.$teil[2].'[/img]', '<img src="'.$teil[2].'" border="0">', $content);
}
}
}
else $content = preg_replace("#\[img\](.*?)\[/img\]#si", "<img src=\"\\1\" border=\"0\">", $content);
return $content;
}[/code]
azbest
15. Juni 2008 um 13:32
7
Ja…
Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration
Du kanst nur lokale Bilder nutzen.
allow_url_fopen ist deaktiviert.
search.php?st=0&sk=t&sd=d&keywords=allow+url+fopen
Das ist aber net nice …
Kann man das nicht irgendwie umgehen? zB indem man die Bilder local zwischenspeichert? Bin leider ein php-noob …
Nein, kann man nicht. Alles muss auf deinem Webspace gespeichert sein.
Wann wird die Funktion aktiviert? Möglicherweise diesen Sommer…möglicherweise.
azbest
15. Juni 2008 um 13:52
10
Lösung mit CSS und JavaScript
Beispiel :
linked.drag2web.com/img.htm
img {
max-width: 500px;
width:expression((this.width>500 ? 500 : this.width));
max-height: 500px;
height:expression((this.height>500 ? 500 : this.height));
}
und ganz einfach:
[quote=„azbest“]Lösung mit CSS und JavaScript
Beispiel :
linked.drag2web.com/img.htm
img {
max-width: 500px;
width:expression((this.width>500 ? 500 : this.width));
max-height: 500px;
height:expression((this.height>500 ? 500 : this.height));
}
und ganz einfach:
[/quote]
Boah, danke!
Aber könntest du das vielleicht in den Scriptcode oben einfügen, ich weiss leider nicht wie ich das machen muss?!
azbest
15. Juni 2008 um 14:11
12
php:
function imgreplace($content) {
preg_match_all("|(\[img\])(.*?)(\[\/img\])|i", $content, $imgtags, PREG_SET_ORDER);
foreach($imgtags as $teil) {
$content = str_replace('[IMG]', '[img]', $content);
$content = str_replace('[/IMG]', '[/img]', $content);
$content = str_replace('[img]'.$teil[2].'[/img]', '<a href="'.$teil[2].'"><img src="'.$teil[2].'" class="max"></a>', $content);
}
return $content;
}
css:
<style type="text/css">
img.max {
max-width: 500px;
width:expression((this.width>500 ? 500 : this.width)+"px");
max-height: 500px;
height:expression((this.height>500 ? 500 : this.height)+"px");
border: 0px;
}
</style>
Beispiel:
linked.drag2web.com/img2.php
Source:
linked.drag2web.com/img2.txt
(korrigiert )
Yeah, funktioniert, vielen Dank
Hab grad ein Problem festgestellt: und zwar werden kleine vergrösserbar Imagelinks ala directupload.net auch ersetzt sodass nicht mehr das eigentliche Bild geöffnet wird sondern das Thumbview … Beispiel: doublexclan.com/index.php?si … c&topic=85
azbest
15. Juni 2008 um 14:56
15
gern geschehen
ja… warte bitte
$content = str_replace(’ ’, ‘ ’, $content);
ohne “a” tag:
$content = str_replace(’ ’, ‘img src="’.$teil[2].’" class="max’, $content);
aber jetz vergrössen geht nicht
Funktioniert leider auch nicht
Mehrere Thumbs nebeneinander werden als 1 Link ausgegeben und das grosse zu reduzierende Bild kommt gar immer
doublexclan.com/index.php?si … c&topic=85
azbest
15. Juni 2008 um 18:19
17
->
du hast nicht entfernt diese <a…
$content = str_replace(’ ’, ‚ ‘, $content);
Habs geändert … nach wie vor gehen die Thumbs net
azbest
15. Juni 2008 um 18:38
19
in browser
php:
$content = str_replace(’ ’, ‚ ‘, $content);
Entferne die Rote teile.
ja - ja
Achsooo …
Nun gut, jetzt funktioniert es soweit, allerdings kann ich jetzt natürlich nicht mehr die „resizten“ Bilder in Originalgrösse anschauen …
Jaja, immer was neues …