"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Problem mit php-Gallerie

grubjo 18.09.2002 - 10:34 714 13
Posts

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
Hi, ich habe mit PHP eine Gallerie erstellt, doch leider gehts verdammt langsam und wenn ich mehr als 20 Bilder in die Gallerie gebe, kommt die Meldung "Fatal error: Maximum execution time of 30 seconds exceeded in /home/ima00/grubjo/public_html/homepage/gallerie.php on line 42".
Es kann sichs jeder selbst unter http://dmt.fh-joanneum.at/~grubjo/homepage anschaun.

Ich habe die beiden Files angehängt, vielleicht möchte sichs mal jemand anschaun - würde mich freuen :-)

Ciao, Hannes
gallerie_16348.zip (downloaded 61x)

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Code:
$image = imageCreateFromJpeg($photo);
$imagebreite = imagesX($image);
$imagehoehe = imagesY($image);

für die breite und höhe gibts a eigene funktion, die weit schneller ist!
get_image_size (oder so)

EDIT: got it http://www.php.net/manual/en/function.getimagesize.php

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
rofl - das switch in der resizeimage.php is' ein bisserl confus :rolleyes:
generell: wenn ein string nicht geparsed werden muss (keine variablen oder \n drinnen) dann verwende single-quotes (') statt double-quotes (")

edit: ups, vertan :D was verwendest du auch so komische 'pseudo-objektorientierte' funktionen....
Bearbeitet von watchout am 18.09.2002, 18:20

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also:
1. wenn du möchtest dass noch mal jemand code von dir liest/verbessert/dir hilft dann solltest du diesen in eine angebrachte form bringen! dh. keinen infernalischen mix aus tabs und blanks machen, sondern bei einer form bleiben (idealerweise sind das tabs weil die kann man einstellen)
2. verwendest du anscheinend register_globals, was nicht nur auf den meisten webservern deaktiviert ist, sondern auch unlesbar ist, und somit unter punkt 1 fällt

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
hi, den mix aus tabs und blanks macht glaube ich Dreamweaver, da ich eigentlich nur mit 2 blanks einrücke.
Was du unter 2. meinst weis ich nicht genau, bin eher ein php-Anfänger bzw. jsp-Umsteiger.

Ciao, Hannes

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
...

bilder resizen ist eine langsame gschicht
du kannst optimieren
aber im endeffekt zahlt sichs mehr aus wennst die set_time_limit() verwendest und die max exec time hoeher setzt....

ich wuerd an deiner stelle alle bilder mal resizen
und dann die resizten speichern...
kannst auch so machen dast im resizeimage.php checkst obs das resizte bild schon gibt - falls ja
header(..);
fpassthru ( $bild );
falls nein
resizen
speichern

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
----
für die breite und höhe gibts a eigene funktion, die weit schneller ist!
get_image_size (oder so)
----

DANKE FÜR DEN TIP!!!! Jetzt gehts viel schneller und auch die Fehlermeldung ist weg :-))

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von grubjo
----
für die breite und höhe gibts a eigene funktion, die weit schneller ist!
get_image_size (oder so)
----

DANKE FÜR DEN TIP!!!! Jetzt gehts viel schneller und auch die Fehlermeldung ist weg :-))

sag ich ja. ;)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von grubjo
hi, den mix aus tabs und blanks macht glaube ich Dreamweaver, da ich eigentlich nur mit 2 blanks einrücke.
Was du unter 2. meinst weis ich nicht genau, bin eher ein php-Anfänger bzw. jsp-Umsteiger.

Ciao, Hannes
dreamweaver/frontpage/usw. sind für php-programmierung denkbar ungeeignet, verwend' da lieber nen text-only editor, ausserdem gibts sicher ne einstellung ;)

das andere is' ganz einfach:
mit register_globals werden per post bzw. get übergebene variablen automatisch als globale variable definiert
zb: index.php?coke=1 - dann gibts ne variable namens $coke mit inhalt 1
es trägt sehr zur übersichtlichkeit bei, wenn man stattdessen $_GET['coke'] schreibt, das hat keinen performanceunterschied, eher gehts schneller - dafür steigt die lesbarkeit um 1000%, weil man weiss wo ne variable herkommt

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
aha, guat, da hab ich wieda was dazuglernt - danke!

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
Zitat von funka
ich wuerd an deiner stelle alle bilder mal resizen
und dann die resizten speichern...
kannst auch so machen dast im resizeimage.php checkst obs das resizte bild schon gibt - falls ja
header(..);
fpassthru ( $bild );
falls nein
resizen
speichern

also i und filesystem san scho immer auf kriegsfuß gewesen... gibts da irgendwo scho was fertiges zum downloaden, weil i hab nix gefunden, aber i kann ma ned vorstellen dass sowas ned scho mal ausprogrammiert worden is.

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11237
http://sourceforge.net/projects/gallery/

dafür gibts sogar nen klickbunti client ;)

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
jo gallery is supi

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
ich brauch keine ganze rießen gallery applikation, nur ein script wie ich ein erzeugtes bild cachen kann, bzw. gechached bild gleich weiterreichen kann. im prinzip sollte man einstellen können wieviel sekunden es maximal gechached werden soll bevor es neu erstellt wird, aber auf jeden fall auch erneuert werden, sollte sich was an der original ausgangsdatei was geändert haben.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz