Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zapisywanie obrazka
hondek
post
Post #1





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Co moze byc przyczyna tego, ze zdjęcia wysylane przez uzytkownika i zapisywane za pomoca php sa puste? Czasami zapisze sie dobrze, ale 90% przypadkow konczy sie zapisaniem pustego pliku *.jpg
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A kod?
Go to the top of the page
+Quote Post
hondek
post
Post #3





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


To nie wina kodu... przez dlugi okres zapisywalo sie wszystko ok, a teraz zapisuje z tym, że rozmiar pliku == 0. Moze to byc spowodowane tym, ze w folderze do ktorego zapisuje te obrazki jest ogromna ilosc obrazow.. ?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ogromna w wartości liczbowej to?
Go to the top of the page
+Quote Post
hondek
post
Post #5





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


~23000 plikow(jpeg) <200KB

Ten post edytował hondek 5.03.2009, 13:23:22
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Teoretycznie patrzac ze strony php wygladałoby to wtedy tak.
Php wywołuje pare funkcji (odczytujacych, zapisujacych) przy których oczekiwanie na odpowiedz moze byc bardzo długie (apache długo listuje pliki z katalogu) co w ostatecznym wyniku może przekroczy max_execution_time dla skryptu php.
Spróbuj zwiększyć limit czasu wykonywania dla skryptu.

A może ktoś cię spamuje jakimś botem do uploudu?
Go to the top of the page
+Quote Post
hondek
post
Post #7





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Kurcze, ale jak zapisuje do innego folderu to tez zapisuje pusty plik....
no to nie wiem.. podaje kod, moze rzeczywiscie cos jest zle:
  1. <?php
  2. function zapiszObrazek( $name, $dst_path, $max_size = 200000, $allowed_type = "image/p?jpeg" ) {
  3.    global $name;
  4.    global $HTTP_POST_FILES;
  5.    // sprawdzamy czy mamy uplodowany plik
  6.    if ( ! is_uploaded_file( $HTTP_POST_FILES[$name]['tmp_name'] ) ) {
  7.        return -1;
  8.    }
  9.    // sprawdzamy rozmiar, i czy to że jesteśmy obrazkiem
  10.    if ( ! ( ( $HTTP_POST_FILES[$name]['size'] < $max_size ) && ereg( $allowed_type, $HTTP_POST_FILES[$name]['type'] ) ) ) {
  11.        return -2;
  12.    }
  13.    $type = substr( $HTTP_POST_FILES[$name]['type'], 6 );
  14.    // przenosimy obrazek do katalogu docelowego
  15.    do {
  16.        $my_name = uniqid( rand() ) . '.' . $type;
  17.        $dst = "fotki2/" . $my_name;
  18.    } while ( file_exists( $dst ) );
  19.    // przenosimy plik
  20.    copy( $HTTP_POST_FILES[$name]['tmp_name'], $dst );            
  21.    // zmiana trybu dostępu do plików
  22.    chmod( $dst, 0644 );
  23.    return $my_name;
  24. }
  25. ?>


Jednak... winna byla funkcja cupy(), zamienilem na move_uploaded_file i dziala teraz ok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




powiedz mi co to za potwór?

  1. <?php
  2. $HTTP_POST_FILES
  3. ?>


$_FILES
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 22:33