Weiss nimmer weider...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Weiss nimmer weider...

    Folgendes Problem:
    Bei getimagesize kann ich keinen Absoluten http Pfad angeben (nur einen direkten), genau so beim copy Befehl. Der frisst auch nur einen direkten Pfad für den from Parameter.
    Aber bei fopen kann ich einen beliebigen absoluten http Pfad angeben und es kann ein Stream hergestellt werden.

    Woran liegt das?

    Iss vielleicht in der PHP.ini "allow_url_fopen" auf Off? Aber warum funktioniert dann fopen?

    Hier 2 Beispielfehlermeldungen (Erstere von der copy und zweitere von der getimagesize Funktion):
    Code:
    Warning: Unable to open 'http://www.lesum-lan.de/img/kleinlogo.png/' 
    for reading: No such file or directory 
    
    Warning: Unable to open http://www.selfphp.info/src/logo.gif in 
    /usr/local/httpd/htdocs/kunden/kundex/html/test/newsscript.php on line 41
    Da meine Files auf Nethomes liegen und die zur Zeit ihr Angebot überarbeiten kann ich wegen "allow_url_fopen" nicht fragen...

    [Editiert von Killerattacks am 16-03-2002 um 18:27]

  • #2
    Glaube nicht, daß "allow_url_fopen" of OFF gesetzt ist. (Glauben ist aber nicht wissen). Poste bitte mal die zu den Warnings gehörenden Commands. Vielleicht ist dort der Hund begraben. Was mich wundert ist der Slash am Ende von 'http://www.lesum-lan.de/img/kleinlogo.png/'. Eigentlich entspricht dies ja einem Directory, was aber auch nix machen würde, da Du ja dann eine 404 Seite kopieren würdest.

    Kommentar


    • #3
      Hier das (teile des) Script:

      Im Prinzip soll in $message nach dem ersten vorkommendem Bild gesucht werden und wennn dieses größer als 200 mal 200 Pixel ist soll es über die HTML Attribute height und width rezised werden...

      PHP-Code:
      //Nach Bild suchen
        
      if(eregi("(<img src=\")(.*)(\">)",$message$regs))
        {
         
      //Bildnamen herausfinden
         
      $name explode("\"",$regs[0]);
         
      //Bild als Tempfile speichern
         
      $endung=substr($name[1], -3);
         
      $name[1] .="/";
         
      $temp="/web/web35/html/temp/temp.$endung";
         if(!
      copy($name[1],$temp))exit ("Der Pfad zum Bild ist Falsch bzw. es kann nicht geöffnet werden!");
         
      //Bildgröße herausfinden
         
      $info = @getimagesize($temp);
         
      //temp Datei löschen
         
      unlink($temp);
         
      //Bildbreite/höhe prüfen
         
      $rezise=0;
         if(
      $info[0]>200$rezise=1;
         if(
      $info[1]>200$rezise=1;
         if(
      $rezise==1)
         {
          if(
      $info[0]>$info[1])
          {
           
      $teiler=$info[0]/200;
           
      $hoehe=$info[1]/$teiler;
           
      settype($hoehe,"integer");
           
      $breite=200;
          }
      //Breiter als Höher
          
      else
          {
           
      $teiler=$info[1]/200;
           
      $breite=$info[0]/$teiler;
           
      settype($breite,"integer");
           
      $hoehe=200;
          }
      //Höher als Breiter
          
      $message str_replace("<img","<img class=\"news\" width=\"$breite\" height=\"$hoehe\"",$message);
         }
      //Bildgröße ändern
         
      else
         {
          
      //css Atribute hinzufügen
          
      $message str_replace("<img","<img class=\"news\"",$message);
         }
      //Bildgröße nicht ändern
        
      }//if Bild 
      Das mit dem Tempfile hab ich nur Probiert, da das mit getimagesize direkt ja nicht funktioniert hat...
      Zuletzt geändert von Killerattacks; 18.03.2002, 16:00.

      Kommentar

      Lädt...
      X