Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dziwny upload
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam nadzieje ze ktos pomoze bo jest to przed ostatnia rzecz zeby skonczyc moj projekt.
Problem polega na tym ze mam upload ktory nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) na localhost jest blad "Blad podczas upload'u" jednak na innym servie jest blad "Katalog /asd/wer/ nie ma uprawnien" i do tad jest wszystko dobrze bo u mnie dany katalog ma chmod 777 jednak nie wiem dlaczego jest tamten blad oto KOD;
  1. <?php
  2. function upload() {
  3.  
  4. echo('<form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'">
  5. <table align="center" width="75%" style="border: 1px dotted white;">
  6. <tr><td align="center"><b>Upload</b></td></tr>
  7. <tr><td align="center">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="999999999">
  9. Dodaj plik: <input type="file" name="up_file" style="font-style:italic; background-color:#000000; color:#00A54E;"> <input type="submit" name="dodaj" value="Dodaj" style="font-style:italic; background-color:#000000; color:#00A54E;">
  10. </td></tr>
  11. ');
  12.  
  13. if(isset($_POST['dodaj'])) {
  14.  
  15. $uploaded_file = $_FILES['up_file']['tmp_name'];
  16. $dir_r = getcwd();
  17.  
  18. if(substr($dir_r, -1, 1) != '/') $dir_r .= '/';
  19. $dir = $dir_r.$_FILES['up_file']['name'];
  20.  
  21.  
  22. if(is_writable($dir)) { 
  23.  
  24.  if(is_uploaded_file($uploaded_file)) {
  25.  
  26. if(move_uploaded_file($uploaded_file, $dir))
  27.  
  28.  echo('<tr><td align="center"><b style="color:#f00">Uploadowano '.$_FILES['up_file']['name'].' do katalogu '.$dir_r.'</b></td><tr></table></form><br>');
  29.  }
  30.  
  31. else echo('<tr><td align="center"><b style="color:#f00">Blad podczas upload'u</b></td></tr></table></form><br>');
  32.  
  33.  }
  34.  
  35. else echo('<tr><td align="center"><b style="color:#f00">Katalog '.$dir_r.' nie ma uprawnien</b></td></tr></table></form><br>');
  36.  
  37.  }
  38. }
  39. ?>

Jednak nic chcialbym zebyscie chociaz dali wskazowke nie mowie ze mi macie kod poprawiac

P.S czy nie idzie tego jakos "oszukac" zeby znajdywal w systemie katalog z prawami rwx bo nikt nie ma praw 777 na katalogu /var/www/ (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

To jak to bardzo wazne dla mnie a nie wiem juz wkoncu co jest zle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Zmienilem troche kod probowalem sobie tez wyswietlac zmienne $_FILES ale sa puste nie wiem dlaczego katalog sie tworzy ma dobry chmod ale nic
  1. <?php
  2. function upload() {
  3.  
  4. echo('<form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'">
  5. <table align="center" width="75%" style="border: 1px dotted white;">
  6. <tr><td align="center"><b>Upload</b></td></tr>
  7. <tr><td align="center">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="999999999">
  9. Dodaj plik: <input type="file" name="up_file" style="font-style:italic; background-color:#000000; color:#00A54E;"> <input type="submit" name="dodaj" value="Dodaj" style="font-style:italic; background-color:#000000; color:#00A54E;">
  10. </td></tr>
  11. ');
  12.  
  13. if(isset($_POST['dodaj'])) {
  14.  
  15. $uploaded_file = $_FILES['up_file']['tmp_name'];
  16. $dir_r = getcwd();
  17.  
  18. if(substr($dir_r, -1, 1) != '/') $dir_r .= '/';
  19.  
  20.  if(!file_exists('/var/www/tmp_upload/')) {
  21. $umask_r = umask(0);
  22.  $dir = mkdir($dir_r.'tmp_upload', 0777);
  23. umask($umask_r);
  24. }
  25.  
  26. $nowy_dir = $dir.$_FILES['up_file']['name'];
  27. echo($_FILES['up_file']['tmp_name'].'-'.$_FILES['up_file']['name']);
  28.  
  29.  
  30. if(is_writable($nowy_dir)) { 
  31.  
  32.  if(is_uploaded_file($uploaded_file)) {
  33.  
  34. if(move_uploaded_file($uploaded_file, $nowy_dir))
  35.  
  36.  echo('<tr><td align="center"><b style="color:#f00">Uploadowano '.$_FILES['up_file']['name'].' do katalogu '.$dir_r.'tmp_upload</b></td><tr></table></form><br>');
  37.  }
  38.  
  39. else echo('<tr><td align="center"><b style="color:#f00">Blad podczas upload'u</b></td></tr></table></form><br>');
  40.  
  41.  }
  42.  
  43. else echo('<tr><td align="center"><b style="color:#f00">Katalog '.$dir_r.'tmp_upload nie ma uprawnien</b></td></tr></table></form><br>');
  44.  
  45.  }
  46. }
  47. ?>

W php.ini upoad jest wloczony oto i on:
Cytat
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Sam nie wiem dlaczego zmienne sa puste niestety na zadnym forum nie znalazlem podobnego problemu

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. $dir = $dir_r.$_FILES['up_file']['name'];
  3.  
  4.  
  5. if(is_writable($dir)) {
  6. ?>


is_writable" title="Zobacz w manualu PHP" target="_manual: Returns TRUE if the filename exists and is writable.

Jako argument podajesz ścieżkę do jeszcze NIE ISTNIEJĄCEGO pliku, więc zawsze zwraca false

Ten post edytował erix 3.02.2008, 10:24:53
Go to the top of the page
+Quote Post

Posty w temacie
- marcio   [PHP]Dziwny upload   2.02.2008, 20:28:12
- - nowotny   Czy plik się fizycznie kopiuje na serwer do katalo...   2.02.2008, 21:19:03
- - marcio   TZN??Do katalogu /var/tmp/ bo to jest pierwszy raz...   2.02.2008, 21:30:02
- - misiek08   Do jakiegoś tmp najprawdopodobniej var/tmp/   2.02.2008, 21:32:06
- - nowotny   Heh... no ja też w sumie nie wiem... zawsze mi dzi...   2.02.2008, 21:33:27
- - marcio   Jak widac w php.ini te miejsce jest puste ale na j...   2.02.2008, 21:47:46
- - nowotny   Tutaj jest dużo sugestii odnośnie tego: http://get...   2.02.2008, 22:04:56
- - marcio   Mam nadzieje ze mnie zrozumia bo moj angielski nie...   2.02.2008, 22:33:25
- - erix   [PHP] pobierz, plaintext <?php$dir = $dir_r.$_F...   3.02.2008, 10:23:40
|- - nowotny   Cytat(erix @ 3.02.2008, 10:23:40 ) is...   3.02.2008, 12:32:36
- - marcio   A wiec zmienilem kod tzn zrobilem wszystko na zmie...   3.02.2008, 13:27:44
- - nowotny   A co ci pokazuje print_r($_FILES);... coś cie...   3.02.2008, 13:34:59
- - marcio   Cytat-****/var/www/tmp_upload/----tmp_upload/Array...   3.02.2008, 13:45:24
- - nowotny   No to jak masz dostęp to poszukaj w logach serwera...   3.02.2008, 13:55:51
- - marcio   Dokladnie gdzie bo tego troche jest   3.02.2008, 13:56:38
- - nowotny   error.log albo access.log Apacha... gdzie to znale...   3.02.2008, 14:02:52
- - marcio   Ostatnie z access.log Cytat127.0.0.1 - - [03/Feb/2...   3.02.2008, 14:31:31
- - nowotny   Ostatnie linijki nic mi nie dają... wrzuć gdzieś c...   3.02.2008, 14:44:26
- - marcio   error.log.1 error.log Access.log nic ciekawego ni...   3.02.2008, 21:45:47
|- - nowotny   Cytat(marcio @ 3.02.2008, 21:45:47 ) ...   3.02.2008, 21:50:15
- - marcio   HEh.. ciekawe jaka jest przyczyna u jednego forumo...   7.02.2008, 13:30:42
- - nospor   [PHP] pobierz, plaintext <?phpif(is_writabl...   7.02.2008, 13:34:00
- - marcio   Defacto masz racje wielkie dzieki teraz juz wszys...   7.02.2008, 14:10:50
- - nospor   Cytatjednak NOSPOR prosilbym cie o nie usuwanie te...   7.02.2008, 14:27:21
- - marcio   Nom juz powiedziales co bylo zle jednak formy dom...   7.02.2008, 15:25:53


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: 8.10.2025 - 05:04