Fehlende php-Funktion?

Habe folgendes Problem: in unserem Forum gibt es für zu grosse Grafiken eine Resize-Funktion … nur leider funktioniert diese nicht auf bplaced :frowning:

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?

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 :wink:

[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

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]

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 … :frowning:

Kann man das nicht irgendwie umgehen? zB indem man die Bilder local zwischenspeichert? Bin leider ein php-noob … :frowning:

Nein, kann man nicht. Alles muss auf deinem Webspace gespeichert sein.

Wann wird die Funktion aktiviert? Möglicherweise diesen Sommer…möglicherweise.

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?! :ps:

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 :slight_smile:

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

gern geschehen :wink:

ja… warte bitte :wink:

$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 :frowning:

Mehrere Thumbs nebeneinander werden als 1 Link ausgegeben und das grosse zu reduzierende Bild kommt gar immer :smiley:

doublexclan.com/index.php?si … c&topic=85

->

du hast nicht entfernt diese <a…

$content = str_replace(’’, ‚‘, $content);

Habs geändert … nach wie vor gehen die Thumbs net :ps:

!coffee

in browser

php:

$content = str_replace(’’, ‚‘, $content);

Entferne die Rote teile. :ps:

ja - ja :hail:

Achsooo … :smiley:

Nun gut, jetzt funktioniert es soweit, allerdings kann ich jetzt natürlich nicht mehr die „resizten“ Bilder in Originalgrösse anschauen … :ps:

Jaja, immer was neues … :smiley: