Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Upload plików i prawa dostępu
Forum PHP.pl > Forum > Przedszkole
trt
Mam taki problem otóż chodzi o uploadowanie plików na serwer. Wszystko przebiego czysto i gładko tylko, że gdy sprawdzam plik to prawa dostępu ustawione są na -rw- --- --- (właścicielem jest "wwwrun" a grupą "www" a nie ja) i nic nie mogę z tym plikiem zrobić (muszę się logować na roota, żeby go usunąć). To trochę dziwne dodam tylko, że wszystko dzieje się lokalnie na moim kompie (nie próbowałem na "prawdziwych" serwerach). Oto skypt:
  1. <?php
  2. include('./../../config/includes.inc.php');
  3.  
  4. $path = '/'.$_POST['path'];
  5. $plik=$_FILES['obrazek']['name'];
  6.  
  7. if($_FILES['obrazek']['error'] > 0)
  8. {
  9. switch ($_FILES['obrazek']['error'])
  10. {
  11. case 1: $x='Rozmiar pliku przekroczył dopuszczalną wartość'; break;
  12. case 2: $x='Rozmiar pliku przekroczył dopuszczalną wartość'; break;
  13. case 3: $x='Plik został wysłany tylko częsciowo. Spróbuj ponownie!'; break;
  14. case 4: $x='Plik nie został wysłany!'; break;
  15. }
  16. die($x);
  17. }
  18.  
  19. if($_FILES['obrazek']['type']!= 'image/jpeg' && $_FILES['obrazek']['type']!= 'image/png')
  20. die('Niedozwolony format pliku! Przekonwertuj do formatu JPEG lub PNG i spróbuj ponow
    nie!'
    );
  21.  
  22. $lokalizacja= FG_ROOT.$_CONFIG_['FG']['root']['imgDir'].$path.$_CONFIG_['FG']['root']['obrazDir'];
  23. //w $lokalizacja jest coś takiego: /srv/www/htdocs/fg1x/img/nowy/obraz (od htdocs wzwyz prawa są na 777)
  24. if(!file_exists($lokalizacja))
  25. {
  26. if(!mkdir($lokalizacja))
  27. die('Błąd tworzenia katalogu!');
  28. }
  29. if(file_exists($lokalizacja.'/'.$plik))
  30. {
  31. die('Plik o podanej nazwie już istnieje! Zmień nazwę pliku i spróbuj wysłać go ponown
    ie!'
    );
  32. }
  33. if(is_uploaded_file($_FILES['obrazek']['tmp_name']))
  34. {
  35. if(!move_uploaded_file($_FILES['obrazek']['tmp_name'], $lokalizacja.'/'.$plik))
  36. {
  37. die('Wystąpił błąd! Plik nie może zostać skopiowany! Spróbuj ponownie!');
  38. }
  39. }
  40. else
  41. {
  42. die('Skrypt zatrzymany z powodu naruszenia bezpieczeństwa!');
  43. }
  44. echo '<b>Plik wysłany!</b>';
  45. ?>


Ustawiłem całej strukturze plików w folderze serwera prawo 777 i dalej problem ten sam...

Może istnieje jakiś sposób aby 'wymusić' żeby plik miał takiego i takiego właściciela, taką grupę i dowolne prawa do niego...?

Bardzo proszę o pomoc, bo nie wiem już co zawiniło , szukałem na forum, ale nie znalazłem (albo przeoczyłem, ale nie sądzę).

Mam zainstalowany serwer Apache 2.2.0, PHP 5.1.2 i Linuxa SuSe 10.1.
devnul
najprosciej - uruchom serwer z prawami twojego usera
trt
Cytat(devnul @ 27.02.2007, 00:57:30 ) *
najprosciej - uruchom serwer z prawami twojego usera


Udało się biggrin.gif
Zmieniłem wpisy w pliku uid.conf i nareszcie jestem właścicielem uploadowanego pliku biggrin.gif Tyle tylko, że chciałbym jeszcze zmienić prawa do pliku, wysyłany plik ma uprawnienia: -rw-r--r-- a po wysłaniu gdy sprawdzam w katalogu docelowym ma prawa zmienione na: -rw --- --- tyle tylko, że w końcu jestem jego właścicielem i mogę go usunąć lub zmienić mu prawa a mnie chodzi, żeby zrobił to za mnie skrypt. Nie wiem jest już późno być może coś przeoczyłem sleepysmiley03.gif
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.