Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wydajność a wczytywanie zdjęcia
Forum PHP.pl > Forum > PHP
Master Miko
Witam... mój problem to wydajność. Mam pewien kod którego nie umiem zoptymalizować:

Dane wejściowe - $file - ścieżka do pliku:

  1. <?php
  2. if(file_exists($file)) {
  3. $offset = 60 * 60 * 24 * 3;
  4. header("Cache-Control: max-age=".$offset.", public, must-revalidate");
  5.  
  6. $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
  7. header($ExpStr);
  8. header ("Content-Type: image/jpeg");
  9. $image = imagecreatefromjpeg($file);
  10. ob_start(); // start a new output buffer
  11. imagejpeg($image, null, 80);
  12. $ImageData = ob_get_contents();
  13. $ImageDataLength = ob_get_length();
  14. ob_end_clean(); // stop this output buffer
  15.  
  16. header("Content-Length: ".$ImageDataLength);
  17. echo $ImageData;
  18. exit();
  19. }
  20. ?>


Proszę o pomoc... sad.gif
marast78
no do przesady o ile chcesz poprawić wydajność wgrywania plików?? o 1%, przecież wszystko zależy od przesyłu, łącza, serwera, wielkości pliku itp. kod tu za wiele nie zmieni
Master Miko
Zmieniłem linijki od imagecreatefrom do echo $ImageData - na "echo file_get_contents($file);"
i chyba to baaaaaaaaaaaaaardzo odciąża serwer.
marast78
gratuluje więc o ile wydajność się poprawiła? jak to wogóle sprawdzasz?
Master Miko
Na logike? Funkcje przetwarzające obraz raczej wymagają więcej pamięci/procesora, niż wczytanie pliku?!
Cezar708
rozumiem, ze chodzi o wyświetlenie pliku graficznego. Wystarczy 'powiedzieć' przeglądarce co to za typ danych poprzez header'a i wyświetlić to co jest w środku.

  1. <?php
  2. header ("Content-Type: image/jpeg");
  3. // oraz ewentualnie pozostale header'y
  4. ?>


oczywiście, trzeba uważać aby nic wcześniej do przeglądarki nie wysłać (nawet pustej spacji) bo inaczej nic się nie pojawi.

Nie wiem jak zmienia się wydajność, prawda jest taka, że skrypt mniej pamięć serwera obciąża, ponieważ po prostu wysyła zawartość pliku $file
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.