Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]upload - lokalnie OK, na serwerze nie działa
kiewball
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.09.2009

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


Mam pewien problem, z uploadowaniem pliku na serwer. Po próbie wysłanie pliku i wcześniejszym utworzeniu folderu z uprawnieniami 0777 otrzymuję komunikat:

Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 14516 is not allowed to access /home/kiewball/domains/newmadage.pdg.pl/public_html/albumy/Urodziny Artefakt 2008 owned by uid 1000 in /home/kiewball/domains/newmadage.pdg.pl/public_html/admin/strony/fotki/upload_mini_jpg.php on line 34

Problem w tym, że lokalnie u mnie na komputerze (pod xampp'em) wszystko działa prawidłowo. Błąd wyświetla się tylko na serwerze. W innym miejscu strony mam inny moduł, na którym upload działa mi prawidłowo.

  1. <?php
  2. include "../../config.php";
  3. include "../strony/fotki/menu.php";
  4. echo '<div id="main">';
  5. echo '<div id="tekst2">WYPEŁNIJ WSZYSTKIE DANE oznaczone *</div><p>';
  6. $tytul = $_POST['tytul'];
  7. $plik = $_POST['plik'];
  8. if (empty($tytul))
  9. //rozmiar dla zdjęć poziomych 666px x 500px, dla pionowych 500px x 666px
  10. {
  11. echo '<form enctype="multipart/form-data" id="dodaj" name="dodaj" method="post" action="index2.php?id=dodaj_album">';
  12. echo '<table><tr>';
  13. echo '<td>Tytuł albumu: * <br /><input name="tytul" type="text" id="tytul" tabindex="1" size="40" maxlength="40" /></td></tr>';
  14. //<input> ukryty dla określenia wielkości przesyłanego pliku
  15. echo '<input type="hidden" name="MAX_FILE_SIZE" value="1000000">';
  16. echo '<tr><td>Miniaturka (format: .jpg rozmiar 133px x 100px ) <br /><input name="plik" type="file" id="plik" tabindex="4" size="40" maxlength="40" /></td></tr>';
  17. echo '</table><br><table>';
  18. echo '<tr><td><p /><input name="DODAJ ZESPOŁ" type="submit" id="dodaj" value="DODAJ ALBUM" tabindex="5"><p /></td></tr>';
  19. echo '</table>';
  20. echo '</form>';
  21. }
  22. else
  23. {
  24. $lokalizacja = "../../albumy/$tytul";
  25. $plik_tmp = $_FILES['plik']['tmp_name'];
  26. list($width, $height, $type, $attr) = getimagesize($plik_tmp);
  27. if (($width==133) and ($height ==100))
  28. {
  29. if (file_exists("../../albumy/$tytul"))
  30. {
  31. echo '<br><div id="tekst">Wybierz inną nazwę. Album o nazwie "'. $tytul .'" już istnieje.</div>';
  32. }
  33. else
  34. {
  35. mkdir("../../albumy/$tytul", 0777);
  36. chmod("../../albumy/$tytul", 0777);
  37. include ("upload_mini_jpg.php");
  38. echo '<div id="tekst2">Dodano album: '.$tytul .'</div>';
  39. }
  40. }
  41. else
  42. {
  43. echo '<br><div id="tekst">Miniaturka musi mieć rozmiar 133px x 100px.</div>';
  44. }
  45.  
  46. }
  47. echo '</div>';
  48. ?>


include ("upload_mini_jpg.php");
  1. <?php
  2. if (!isset($plik_tmp))
  3. {
  4. echo '<br><div id="tekst">Nie dodałeś pliku graficznego</div>';
  5. }
  6.  
  7. if ($_FILES['plik']['error'] >0)
  8. {
  9. echo 'Wystąpił problem';
  10. switch ($_FILES['plik']['error'])
  11. {
  12. case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
  13. case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break;
  14. case 3: echo 'Plik wysłany tylko częściowo'; break;
  15. case 4: echo 'Wysłanie nie powiodło się'; break;
  16. }
  17. }
  18. if ($_FILES['plik']['type'] != 'image/jpeg')
  19. {
  20. echo 'Plik nie jest jpg\'iem';
  21. exit;
  22. }
  23.  
  24. if(is_uploaded_file($plik_tmp))
  25. {
  26. move_uploaded_file($plik_tmp, "$lokalizacja/mini.jpg");
  27. }
  28. ?>
  29.  


Może ktoś pomóc?
Jestem początkujący, co pewnie widać po kodzie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Berg
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 37
Dołączył: 1.05.2008
Skąd: Białystok

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


Masz ustawiony safe mode na serwerze który blokuje Ci wrzucenie pliku do folderu. Jedna opcja to wyłączenie safe mode przez .htaccess, php.ini lub z poziomu php (ale takiej możliwości zazwyczaj serwery z safe mode nie dają), napisanie do admina z prośbą o wyłączenie opcji lub zmiana serwera. Jeśli jednak koniecznie chcesz używać tego serwera i masz dostęp do ftp to plik możesz wrzucić poprzez ftp wywołany z poziomu php (więcej tutaj).
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To raczej nie jest powód, ponieważ na innej podstronie działa mi upload.

"W innym miejscu strony mam inny moduł, na którym upload działa mi prawidłowo."
tja... ale pewnie w innym miejscu wrzucasz do zupelnie innego katalogu. Przeciez komunikat błedu wyraźnie mowi co jest nie tak.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 23.09.2009

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


Cytat(nospor @ 23.09.2009, 21:35:05 ) *
tja... ale pewnie w innym miejscu wrzucasz do zupelnie innego katalogu. Przeciez komunikat błedu wyraźnie mowi co jest nie tak.


Wrzucam dokładnie do tego samego katalogu. Przed chwilą sprawdziłem i faktycznie moduł, który działał prawidłowo jeszcze wczoraj, przestał działać. Wygląda na to, że admin wprowadził zmiany na serwerze.
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 - 13:01