Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Fehler mit is_file bei Schleifen

Einklappen

Neue Werbung 2019

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

  • PHP Fehler mit is_file bei Schleifen

    Hallo ihr lieben.
    Ich werde im Moment grad wahnsinnig

    Ich versuche mit einer Schleife ein Bild(Map) zu erstellen. Klappt auch ganz gut, nur dass PHP mir etliche (vorhandene!) Bilder unterschlägt. Und das auch mit file_exists(), mit realpath() und auch nur unter Verwendung von imagecreatefromgif()... Kann mir hier wer weiterhelfen??? error.log ist leer und das Script tut ja (meist) was es soll...

    Müsste noch erwähnen, dass der PHP-Code in einer Class liegt...

    Hier der Code:
    PHP-Code:
    protected function generateMap($mapset$image$ix$iy) {

            
    //Generate map based on the mapArray
            
    echo "Starte Map-Erstellung... <br /><br />";
            
    $i 0;
            
    $y 0;       
            
    $x 0
            
    $mapimg imagecreatetruecolor($ix*100$iy*100);
            
            foreach(
    $mapset as $row)
            {
                
    //Current row in the mapArray
                
    $x=0;
                foreach(
    $row as $tile)
                {
                    
    //Current tile in the mapArray
                    
                    
    $tilesrc = ($image."/".$tile);
                    
    //echo "#".$tilesrc . "#<br />";
                    
    if (!is_file($tilesrc)){echo "Datei #".$tilesrc."# nicht gefunden! <br /><br />";}
                    else {
                        
    $imgsrc imagecreatefromgif($tilesrc);
                        if (!
    $imgsrc){echo "Fehler bei gif laden! <br />";}
                        
    imagecopy($mapimg$imgsrc$x*100$y*10000100100);
                        
    imagedestroy($imgsrc);
                    }
                    
    // Tile als alternative als Gif ausgeben - soll durch imagemap + grafik ersetzt werden
                    
    $map[$i][] = "<a href='javascript:void(0)' onclick='click_map(" $x ", " $y ", "$tile ");'><img src=\"".$tilesrc."\" id='maptile' width='50' height='50' style='border:0; margin:0; padding:0;' /></a>";
                    
    $x++;
                }

                
    $i++;
                
    $y++;
            }
            
    //header ('Content-Type: image/jpg');
            
    imagejpeg($mapimg"map/startmap.jpg");
            
    imagedestroy($mapimg);
            return 
    $map;
        } 
    Hier das Ergebnis:
    http://rpg.aaa-gilde.de/parsingmap.php
    ... just be good!

  • #2
    Vermutlich ein Leerzeichen am Ende des Dateinamens.

    Kommentar


    • #3
      PHP-Code:
       if (!is_file($tilesrc)){echo "Datei #".$tilesrc."# nicht gefunden! <br /><br />";} 
      Nein ein Umbruch -> dein HTML Quellcode:

      HTML-Code:
      Starte Map-Erstellung... <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_ne.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Datei #graphics/graphics/MapTiles/world/cliff_e.gif
      # nicht gefunden! <br /><br />Generating a basic mini-map...<br /><div id='mapcoord'> ...
      LG
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Häusler, vielen vielen Dank!!!!!

        ein einfaches trim() hat gereicht... Danke!!!

        PHP-Code:
        $tilesrc trim($image."/".$tile); 
        Kann geschlossen werden! Nochmals Danke!

        P.S.: Die Ausgabe des Dateinamens mit den # War bei mir im Browser falsch. Der hat mir den Umbruch nämlich unterschlagen. Ich hatte schon an ein Leerzeichen gedacht, drum die # in der Testausgabe
        ... just be good!

        Kommentar


        • #5
          Zitat von SkyTiger2010 Beitrag anzeigen
          ein einfaches trim() hat gereicht... Danke!!!
          Damit behandelst du nur das Symptom, nicht die Ursache...
          [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

          Kommentar


          • #6
            Ich weiß. Die Ursache ist die Datei, aus der ich die Daten auslese - und diese Datei wird mir über eine fremde Seite erzeugt. Daher kann ich das (noch) nicht beseitigen. Ich werde mir aber dieses Tool selbst erstellen - nur im Moment ist das auf der Prio-Liste weiter unten...
            ... just be good!

            Kommentar


            • #7
              Zitat von SkyTiger2010 Beitrag anzeigen
              Ich weiß. Die Ursache ist die Datei, aus der ich die Daten auslese - und diese Datei wird mir über eine fremde Seite erzeugt.
              Dann bau das dort ein wo du die Daten ausliest und nicht wo du mit den Daten verarbeitest.

              Kommentar

              Lädt...
              X