Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Wydajność a wczytywanie zdjęcia
Master Miko
post
Post #1





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

Ten post edytował Master Miko 6.01.2007, 17:19:45


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
marast78
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 30.11.2004

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
Master Miko
post
Post #3





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zmieniłem linijki od imagecreatefrom do echo $ImageData - na "echo file_get_contents($file);"
i chyba to baaaaaaaaaaaaaardzo odciąża serwer.

Ten post edytował Master Miko 6.01.2007, 18:14:23


--------------------
Go to the top of the page
+Quote Post
marast78
post
Post #4





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 30.11.2004

Ostrzeżenie: (0%)
-----


gratuluje więc o ile wydajność się poprawiła? jak to wogóle sprawdzasz?


--------------------
Go to the top of the page
+Quote Post
Master Miko
post
Post #5





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Na logike? Funkcje przetwarzające obraz raczej wymagają więcej pamięci/procesora, niż wczytanie pliku?!


--------------------
Go to the top of the page
+Quote Post
Cezar708
post
Post #6





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:51