URL: https://www.overclockers.at/coding-stuff/php_problem_beim_thumbnail_erstellen_146686/page_2 - zur Vollversion wechseln!
Leider muss ich dich enttäuschen, denn ich steh nicht auf der Leitung, sondern kenn mich mit meine Problem schlichtweg nicht aus.
Die Schleife ist also nicht schuld, meinst du. Dann weiß ich nicht, was sonst das Problem sein sollte. Ich mein, wenn ich die Schleife weglass, dann geht das Script. Also ist anzunehmen, dass irgendeine Funktion in der Schleife das Problem hervorruft, jedoch hält sich PHP mit der Fehlermeldung recht bescheiden, also eigentlich sagt die Fehlermeldung nur, dass irgendwas nicht funktioniert - auf soviel bin ich auch schon draufgekommen (mit oder ohne Kommentare und besserer Lesbarkeit).
Und dann kommst du und sagst mir, dass in dem Script etwas falsch ist. Versteh mich nicht falsch, aber sei mir nicht böse, wenn ich dich kurz und bündig arrogant. Du sagst mir, ich soll meinen Code auskommentieren (auch wenn ich ihn so verstehe, und wenn ein offensichtlicher Fehler drinnen gewesen wäre, hätte ich ihn auch ohne auskommentieren gefunden), sagst mir, dass etwas falsch ist, dass man es richtig stellen könnte, aber hältst dich mit Hinweisen zum Code relativ begrenzt.
Ich bin - und das trau ich mich von mir sagen - schon relativ fortgeschritten in PHP, die meisten Funktionen sind mir schon untergekommen, mir selber lernen kann ich nur noch wenig, außer durch analysieren von Code, wo ich mir hie und da noch einige Routinen herauslese und lerne (so z.B. habe ich heute gelernt, dass man bei isset mehrere Parameter schreiben kann und sie nicht durch && verbinden muss), oder durch Coden von neuartigen Dingen (CMS, Thumbnailgalleries). Jedoch - und auch das trau ich mich zu sagen - habe ich es nicht nötig, mir von PHP Manuals die ersten Seiten anzuschauen, wovon ich wahrscheinlich schon mehr als 9/10 kenne.
Um diesem Post jetzt auch noch ein Ende zu "schenken" will ich dir noch sagen, dass man auch durch Analysieren von hingeschmissenem Code lernen kann und nicht nur durch die von dir propangierte "Do-it-yourself"-Methode.
Jedoch stehe ich bei meinem Problem an und wenn ich jetzt Manuals durchlesen müsste um meinen Fehler zu entdecken (wobei du ihn ja anscheinend schon entdeckt hast), dann werde ich mit diesem Script nicht bis zum Ende der Sommerferien fertig (wobei das egal ist, weil es eh nur ein Script zum Üben und Lernen ist). Folglich wäre es nett, wenn du dich in Zukunft bei meinen Probleme nicht so knappe aussagen machen würdest, sondern mir sagst (oder zumindest hinweist - der Lernerfolg soll ja aufrecht erhalten bleiben), wo der Fehler sein könnte. Mit Verweisen auf diverse Funktionen weiß ich auch etwas anzufangen, falls dir das lieber ist.
In diesem Sinne...
Zitat von tomstig=> Die Schleife wird dran schuld sein....
Wie gehört es richtig?
Code: PHP<?php if ($_GET['file']) { $info = getimagesize('./pics/' . $_GET['file']); if( $info['mime'] == 'image/jpeg' ) { $breitalt = $info[0]; $hochalt = $info[1]; $breit = 100; $hoch = ceil($hochalt*$breit/$breitalt); if( $breitalt > $breit ) { $bildalt = imagecreatefromjpeg('./pics/' . $file); $bildneu = imagecreatetruecolor($breit , $hoch); imagecopyresized($bildneu , $bildalt , 0 , 0 , 0 , 0 , $breit , $hoch , $breitalt , $hochalt); header("Content-Type: image/jpeg"); imagejpeg($bildneu); imagedestroy($bildalt); imagedestroy($bildneu); } } } else { if ($handle = opendir('pics')) { while(false !== ($file = readdir($handle))) { $i = 0; if( $file != "." && $file != ".." ) { $info = getimagesize('./pics/' . $file); if( $info['mime'] == 'image/jpeg' ) { echo '<img src="' . $_SERVER[PHP_SELF]. '?file=' . $file . '" alt="" />'; } else { echo '<a href="./pics/' . $file . '" alt="">' . $file . '</a>'; } $i++; } #if( $i % 5 == 0 ) echo '<br />'; } closedir($handle); } } ?>
erzeuge ein bild ODER eine html datei. beides gleichzeitig geht nicht.
@Philipp: Vielen Dank, ohne dich wäre ich auf diese Lösung nie gekommen... da ist es aber fraglich, wieso man ein einzelnes Bild (siehe $_GET['file']) verkleinern sollte?
BTW: Schau dir mal dein $_SERVER[PHP_SELF] und auf dieser Seite die "Array do's und don'ts" (musst ein bisschen runterscrollen) an...
@rettich: Wenn watchout sagt, dass man eine Galerie mit Thumbnails dynamisch erstellen kann, dann wird es eine Möglichkeit geben, das zu machen...
meine Antwort:
Zitat von watchoutWenn du ein Bild resizen willst und dann ausgeben darf das nur der absolut einzige Content sein den du ausgibst - nur das Bild, sonst nichts. Wenn du ne Fehlermeldung hast, zerstört die das Bild - Genauso jede andere Ausgabe (per echo, print,...). Der richtige Header fehlt in deinem Fall auch noch.
ZitatSowas in der Art hab ich mir schon gedacht, nur wie funktionieren dann alle Galerien mit Thumbnails?
Zitat von dioIch versteh zwar deine Frage nicht richtig, aber:Code: PHP<img src="bildscript.php?id=123">
Jetzt wo du dios (btw: http://www.idiotenapostroph.de.vu/ ) Antwort quotest, greif ich mir auch auf den Kopf. Ich bin grad am Weg zum Auto draufgekommen, was er damit wohl meint (an dieser Stelle, tut es mir leid, dio, dass ich deinen Post absichtlich überlesen habe, weil ich damit nichts anfangen konnte ).
Mir ist jetzt erst bewusst geworden, was passiert, wenn ein <img /> auf ein dynamisches Bild verlinkt wird (nämlich dass das Script auch ganz normal aufgerufen wird).
Ok, werd mich später hinsetzen und das Script bauen...
So, habs geschafft...
Da die meisten, die sich für dieses Problem interessiert haben, die Lösung eh schon kennen werden, und watchout auch sicherlich nicht will, dass ich anderen etwas vorkaue, behalte ich den Code für mich (PMen ist möglich, wers wirklich dringend brauchen sollte...)
Ob du den Code nun mit anderen Leuten teilen willst oder nicht, ist deine Sache, ich finde es gibt schon genug Code hier um Einblicke zu geben usw. Die "Theorie" steht auch schon da - ist genug, aber wenn du den Code posten willst - mach' es (sucht eh' keiner, also findet's auch keiner)Zitat von tomstigDa die meisten, die sich für dieses Problem interessiert haben, die Lösung eh schon kennen werden, und watchout auch sicherlich nicht will, dass ich anderen etwas vorkaue, behalte ich den Code für mich (PMen ist möglich, wers wirklich dringend brauchen sollte...)
-> Klug*******erchen. "dio" ist ein Eigenname - eine willkürliche Aneinanderreihung von Buchstaben (sorry dio) wenn man so will. Es könnte genausogut einen "dios" geben, und um das klarzumachen verwendet man/ich das Apostroph -> dio's. Dadurch ist klar das ich dio meine und nicht dios(.)ZitatIn Ausnahmefällen kann auch im Deutschen der Apostroph im Genitiv gesetzt werden. Aber nur dann, wenn durch den Apostroph die Grundform eines Namens verdeutlicht wird.
dio ist italienisch für "Gott", und weiters die Abkürzung für Diocletian (dt. Diokletian) -> http://de.wikipedia.org/wiki/DiokletianZitat von watchouteine willkürliche Aneinanderreihung von Buchstaben (sorry dio)
@watchout: Aso, hab nicht gewusst, dass du das beabsichtigt hast...
@dio: *applaus*
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025