Batch resize script în PHP

Am realizat zilele trecute un script PHP care redimensionează  imaginile dintr-un director, la o lățime și înălțime dată. Pentru a-l utiliza ai nevoie de librăria GD preinstalată. Specificații:

================== Batch resize script în PHP =======================

Utilizare:

batchresize.php?dir=[source-path]&width=[width]&height=[height]&suffix=[filename-suffix]&output [yes|no|destination-path]&start=[index]&count=[as-many]&overwrite=[1|0].

Parametrii:

  • dir: directorul sursă din care se prelucrează imaginile. Poate fi o cale relativă sau absolută;
  • width: lățimea la care se redimensionează imaginile (thumbnails);
  • height: înălţimea la care se dorește redimensionarea; Notă: Dacă specificaţi doar lăţimea, sau doar înălţimea, parametrul lipsă va lua valoarea celui specificat. Deci, lățimea va fi egală cu înălţimea, în cazul în care înălţime numai este specificată, respectiv înălţimea va fi egală cu lăţimea dacă numai lățimea dorită este specificată;
  • suffix: sufixul pentru numele de fişierelor rezultate.  În mod implicit acesta este _thumb. Puteţi ignora acest parametru dacă specificați &output=yes;
  • output: calea către directorul în care vor fi salvate imaginile rezultate, sau setat “yes” va afișa în browser prima imagine redimensionată fără să salveze fișierul. Puteţi testa în acest fel mai multe combinaţii de înălţime/lățime înainte să faceți batch resize. În mod implicit directorul destinație este acelaşi cu directorul sursă.
  • start: dacă primiți erori de genul “Out of memory” când rulați scriptul, aveţi posibilitatea să utilizaţi &start şi &count pentru a redimensiona numai imaginile indexate între &start şi &star + &count.  Deci, dacă doriţi să să redimensionați primele 5 imagini din utilizarea directorul sursă puneți &start=0&count=5. Dacă doriţi să redimensionaţi următoarele 15 utilizați &start=6&count=15 şi aşa mai departe;
  • count: numărul de imagini care să fie redimensionate începând de la &start .
  • overwrite: puneți &overwrite=1 dacă doriţi să suprascrieţi fişierele existente deja redimensionate. Selecția se va face după parametrul &suffix. Fiți atent cu acest parametru, deoarece script-ul nu va face diferența între fişierele generate anterior. Așa că dacă directorul sursă este acelaș cu directorul destinație, va genera, de asemenea, thumbnailuri pentru thumbnailuri-urile deja existente şi aşa mai departe, ori de câte ori este aplicat.

Lăţimea implicită şi înălţimea implicite sunt de 100 x 100.
Sufixul implicit pentru numele fișierelor este _thumb.
Fişierele existente nu sunt suprascrise în mod implicit. Dacă doriţi să le suprascrieţi puneți &overwrite=1.
În prezent, script-ul suportă png, jpg, jpeg si gif. Fișierele rezultate sunt salvate ca jpg.
În scopuri de fiabilitate acest script nu va redimensiona fişiere mai mari de 2MB.

download