set_time_limit()
Sziasztok!
Az extra.hu-n van egy oldalam, ahol képeket kell feltölteni és átméretezni, esetleg forgatni. (Ez utóbbiról letettem, inkább feltöltés elött megteszem. Sajnos tiltva van az imagerotate() függvény az extán.)
A baj ott van, hogy egyszerre 4-500 fájl feltöltéséről van szó. Ha egyesével töltögetem fel, akkor el is végzi a képmanipulációkat (bélyegkép és kb 600px magas képek elkészítése és az eredeti kép törlése), de ez időigényes és monoton. Ha feltöltöm ftp-n és utána küldöm rá a progit, akkor kiakad, mert sajna a set_time_limit() függvény is tiltva van.
Tud valaki a set_time_limit() helyett valami megoldást?
Próbáltam, hogy esetleg kisebb csoportonként készítem el a bélyegképeket, de kettő után fatális hibát okozott. Így ez sem megoldás.
■ Az extra.hu-n van egy oldalam, ahol képeket kell feltölteni és átméretezni, esetleg forgatni. (Ez utóbbiról letettem, inkább feltöltés elött megteszem. Sajnos tiltva van az imagerotate() függvény az extán.)
A baj ott van, hogy egyszerre 4-500 fájl feltöltéséről van szó. Ha egyesével töltögetem fel, akkor el is végzi a képmanipulációkat (bélyegkép és kb 600px magas képek elkészítése és az eredeti kép törlése), de ez időigényes és monoton. Ha feltöltöm ftp-n és utána küldöm rá a progit, akkor kiakad, mert sajna a set_time_limit() függvény is tiltva van.
Tud valaki a set_time_limit() helyett valami megoldást?
Próbáltam, hogy esetleg kisebb csoportonként készítem el a bélyegképeket, de kettő után fatális hibát okozott. Így ez sem megoldás.
Kattogtasd meg a böngészőt ;)
írj egy könvytárolvasó scripted, ami ajax-hívásokkal a file-névvel és elérési úttal meghívogatja az átméretező scriptet. Mozillával akár egyszerre több thread-en is tudod csinálni.
Miért szerveren?
Egy egyszerű fényképszerkesztő program is tud kötegelt fájl átméretezést és elforgatást.
s_volenszki
muszály szerveren
Sajnos muszály szerveren, mert a megbízómnak külön kérése volt, hogy ne kelljen neki hetente 4-500 képpel molyolni és egyesével feltöltögetni.
Az AJAX-hoz (egyelőre) lövésem sincs. Tudnátok esetleg félkész - kész megoldást könyvtár olvasó és hivogató scriptre?
Akkor ez azt jelenti...
s_volenszki
A megfelelő eszközt a megfelelő feladatra
Hát én írnék neki egy kis perl/tk scriptet, becsomagolnám egy imagemagick-kel együtt, feltelepíteném az ügyfél gépére és megtanítanám, hogy dobja rá a képeit a kis script ablakára/válassza ki a képek mappáját a saját gépén, és ebben a scriptben méretezném át a képeket. Még azt is bele lehet építeni, hogy automágikusan ftp-vel feltöltse az átméretezett/elforgatott képeket a tárhelyre.
Nézd csak!
bimp-batch-image-processor
:)
s_volenszki
szerk:
Bocsi, az a link nem műxik, de ezek jók:
bimp-batch-image-processor
bimp-batch-image-processor
szerk2:
Nagyon komoly! Kipróbáltam, ez nekem is jól jön! :)
Hívogató script
Ha a picture.php ad valamit kimenetként pl.: "SUCCES ".$_GET["filename"] akkor még jól is néz ki ;)
A http://www.ajaxtoolbox.com/request/compact/AjaxRequest.js
címen található scriptet töltsd le és írd át az elérési útját a kódban, mert így még függ a programod az ő szerverüktől, a biztonságról meg már ne is beszéljek... EZ LEGYEN AZ ELSŐ DOLGOD!
Ja és tanulj meg AJAX-ul érdemes. Bár ezt a problémát semmiféleképpen sem így oldottam volna meg.
1. írj egy cron jobot, ami figyeli az ftp-logot. Ha a megrendelőd usernevét találod benne, meg azt a könyvtárat ahova a képeket tölti, akkor 2-lépés.
2. írj egy scriptet (bármilyen nyelven) ami tud parancssori futtatást, és paraméterezd fel a GIMP-et.
3. Élvezd a minőséget!
extra.hu
Nem fér hozzá...
Két dolog biztos
De ebben az esetben kívételt tehetünk :)
Nem akarja...
Kipróbáltam ppshungary által beírt dolgot, de nem akar működni.
Átirogattam a változókat, letöltöttem az AjaxRequest.js-t és így sem csinál semmit.
Vagyis legalább nincs hibaüzi, de csak azt írja ki, hogy "Kimenet:".
A $picture_script változóban meghatározott .php oldalt nem akarja meghívni (mégy egyszer sem).
beszúrom a vátozásokat és a $picture_script változóban meghatározott .php oldalt:
Ha valaki tudna segíteni, nagyon megköszönném.
GET!=POST
Ez a script azt csinálja, hogy:
1. az $ftp_directory -ban meghatározott könyvtárban található fileokat (azok neveit) kivéve a (.) és a (..) beolvassa.
2. a $picture_script -ben meghatározott scriptet meghívja minden egyes file-névvel így: admin/picture_manipulate.php?filename=xy
3. A $picture_script -ben meghatározott script által visszadott kimenetet hozzáírja az output_div -id-jű HTML tartalmához
Egy konkrét példa:
az $ftp_directory-ban meghatározott könyvtár tartalma:
.
..
kiskacsa.jpg
mikulas.jpg
lopisztoly.jpg
A script az oldalbetöltés után ezt fogja csinálni:
GET => admin/picture_manipulate.php?filename=kiskacsa.jpg
GET => admin/picture_manipulate.php?filename=mikulas.jpg
GET => admin/picture_manipulate.php?filename=lopisztoly.jpg
A lírtakat figyelembe véve hibák az általad írt kódban:
1. A forrás könyvtár és a célkönyvtár azonos (honnan olvas, hova ír)
2. A picture_manipulate.php $fajl = $_POST["filename"]; sorát írd át így: $fajl = $_GET["filename"]; (03. sor)
vagy
Az általam írt script AjaxRequest.get( sorát írd át AjaxRequest.post( -ra (27. sor)
3. A $_POST["eztnyit"] nem lesz értelmezhető a picture_manipulate.php-ban (akkor se, ha átírod POST metódusra az AjaxRequest-et, mindaddig, amíg a paraméter listába fel nem veszed)
Ha kész vagy válaszolj, kíváncsi vagyok a végeredményre ;)
Ja és mégvalami: picture_manipulate.php -be az utolsó sorba írd mád be légyszi azt hogy :
echo("SUCCESS: ".$fajl." => ".date("Y-m-d H:i:s"));
szenvedek...
Elvégeztem a változtatásokat, de így sem akarja az igazságot.
Nemtom, mi lehet a baj.
Szimpla php
Tehát amikor az oldalnak szüksége lenne a képre, de az nincs, akkor hozza létre.
Így a lapnak csak 1-2 képet kell legenerálni, ami belefér az időbe.
sok volna
MŰKÖDIK EZT MÁSOLD BE
kepek/ide_fogja_a_program_masolni_a_manipulalt_kepeket
kepek/ide_tolti_fel_ftp_vel_a_megrendelo_a_kepeket
picture_manipulate.php //egy kicsit módosítva
Köszi!
Köszönöm a segítséget! Működik.
Bocsánat, hogy csak most válaszolok. Volt menet közben egy téli szünet és egy betegállomány, csak most tudtam a dologgal foglalkozni.
Üdv: suty
Forward