Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] upload + wyświetlanie plików
agataperz
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


Witam,

mam mały problem - nie chce mi działać.
Możecie mnie naprowadzić gdzie zrobiłam podstawowy błąd - nie chce zapisywac mi na serwerze plików. Katalog ma uprawnienia 777.


  1. echo "<center><form enctype='multipart/form-data' action='admin.php' method='POST'>
  2. <input type=hidden name=MAX_FILE_SIZE value=50000 />
  3. <input type=hidden name=s value=p />
  4. <input type=hidden name=x value=x />
  5. <input name=plik type=file />
  6. <input type=submit value='Wy?lij plik' />
  7. </form><br><br> <b>Pliki na serwerze:</b><br>
  8. ";
  9.  
  10. $directory="foto/";
  11. $dir=opendir($directory);
  12. $files_tab = array(); //deklaracja tablicy przechowuj?cej informacje o wszystkich plikach
  13. while($file_name=readdir($dir))
  14. {
  15. if(($file_name!=".")&&($file_name!=".."))
  16. {
  17. $file_path = $directory.$file_name; //pelna ?cieżka do pliku
  18. $file_tab = array ($file_name, filesize($file_path)); //tablica z informacjami o jednym pliku [0] -> nazwa; [1] -> rozmiar
  19. array_push($files_tab, $file_tab); //doł?czenie tablicy informacji o jednym pliku do tablicy wszystkich plików
  20. }
  21. }
  22.  
  23. closedir($dir);
  24.  
  25. $suma = 0;
  26. for ($i=0; $i<count($files_tab); $i++) {
  27. echo 'nazwa'.$files_tab[$i][0].' '.'rozmiar'.$files_tab[$i][1].'<br/>';
  28. $suma += $files_tab[$i][1];
  29. }
  30. echo $suma;
  31.  
  32. }
  33.  
  34. if ( $x == 'x') {
  35.  
  36.  
  37. $plik_tmp = $_FILES['plik']['tmp_name'];
  38. $plik_nazwa = $_FILES['plik']['name'];
  39. $plik_rozmiar = $_FILES['plik']['size'];
  40.  
  41. if(is_uploaded_file($plik_tmp)) {
  42. move_uploaded_file($plik_tmp, "foto/$plik_nazwa");
  43. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  44. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  45. }
  46.  
  47. }


Ten post edytował agataperz 18.03.2011, 12:27:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
nospor
post
Post #2





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




Chyba już to przerabialiśmy:
Napisz na czym polega to nie działanie, czym się objawia, co powinno się dziać a się nie dzieje

Zanim odpowiesz, zapoznaj się z tym i zastosuj się do tego"
Temat: Jak poprawnie zada pytanie


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

"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
kadlub
post
Post #3





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


  1.  
  2. }
  3.  
  4. echo $suma;
  5.  


powinno być chyba

bez tej klamerki
a po drugie gdzie masz przypisanie wartości do zmiennej $x
  1. $x=$_POST['x];


i w tym if skasuj te odstępy ma być tak
if ( $x=='x')

Ten post edytował kadlub 18.03.2011, 12:43:50
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Cytat
i w tym if skasuj te odstępy ma być tak
if ( $x=='x')
Przecież to bez znaczenia


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

"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
kadlub
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


wiem ale źle to wygląda
smile.gif
Go to the top of the page
+Quote Post
agataperz
post
Post #6





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


te odstępy $x == 'x' sa bez znaczenia bo warunek działa.

Nie działa zapisywanie pliku na serwerze.

Zrozumiałabym gdyby katalog foto nie miał uprawnień ale ma uprawnienia 777

Nie chodzi mi też o wyświetlanie plików bo ten skrypt działa w 100%

Ten post edytował agataperz 18.03.2011, 13:09:10
Go to the top of the page
+Quote Post
kadlub
post
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


a wprowadziłeś te zmiany co napisałem z tą zmienną $x i z tą klamerką?
jak tak to pokarz kod po tych zmianach

Ten post edytował kadlub 18.03.2011, 13:10:13
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Cytat
wiem ale źle to wygląda
80% tego kodu źle wygląda. Czemu przyczepiłeś się tylko takiej jednej popierdułki? tongue.gif

1) Zastosowałaś sie do linku co ci podałem? Masz tam chociażby napisane jak wyświetlać wszystkie błędy
2) Wprowadziłeś poprawki które podał kadlub?

3) daj print_r($_FILES); - no ale o tym przecież i tak jest mowa w linku co podałem.


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

"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
kadlub
post
Post #9





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


a diabeł tkwi w szczegółach a że jest namieszane w kodzie to widać
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Akurat w szczegole o którym mowa nic nie tkwi.

1) Nie czepiaj się więc proszę nieistotnych rzeczy - tylko wprowadzasz takim czepianiem o durną spację jakiś zamęt
2) A jak już musisz to czepiaj się wszystkich i zrob posta na dwa ekrany smile.gif


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

"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
kadlub
post
Post #11





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


ok
Go to the top of the page
+Quote Post
agataperz
post
Post #12





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


Panowie,

klamerka musi zostać bo jest warunek ktory przypadniem nie skopiowałam.

Przypominam że tu nie polega problem na klamerkach czy innych pierdołach.
Problem jest taki że nie chce mi zapisać na serwerze.
Warunek if ( $x == 'x') działa bez żadnych zarzutów nie działa mi tylko:

  1. if(is_uploaded_file($plik_tmp)) {
  2. move_uploaded_file($plik_tmp, "foto/$plik_nazwa");
  3. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  4. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  5. }


caly skrypt wyglada tak:


  1. if ($s == 'p' ) {
  2. echo "<center><form enctype='multipart/form-data' action='admin.php' method='POST'>
  3. <input type=hidden name=MAX_FILE_SIZE value=50000 />
  4. <input type=hidden name=s value=p />
  5. <input type=hidden name=x value=x />
  6. <input name=plik type=file />
  7. <input type=submit value='Wyślij plik' />
  8. </form><br><br> <b>Pliki na serwerze:</b><br>
  9. ";
  10.  
  11. $directory="foto/";
  12. $dir=opendir($directory);
  13. $files_tab = array(); //deklaracja tablicy przechowującej informacje o wszystkich plikach
  14. while($file_name=readdir($dir))
  15. {
  16. if(($file_name!=".")&&($file_name!=".."))
  17. {
  18. $file_path = $directory.$file_name; //pelna ścieżka do pliku
  19. $file_tab = array ($file_name, filesize($file_path)); //tablica z informacjami o jednym pliku [0] -> nazwa; [1] -> rozmiar
  20. array_push($files_tab, $file_tab); //dołączenie tablicy informacji o jednym pliku do tablicy wszystkich plików
  21. }
  22. }
  23.  
  24. closedir($dir);
  25. echo "<table><tr><td align=center><b>Nazwa pliku</td><td align=center><b>Rozmiar pliku</td></tr>";
  26. $suma = 0;
  27. for ($i=0; $i<count($files_tab); $i++) {
  28. echo '<tr><td bgcolor=#455175 align=right>'.$files_tab[$i][0].' '.'</td><td bgcolor=#455175 align=right>'.$files_tab[$i][1].'b </td></tr>';
  29. $suma += $files_tab[$i][1];
  30. }
  31.  
  32. echo "<tr><td colspan=2 align=right>$suma</td></tr></table>";
  33.  
  34. }
  35.  
  36. $x = $_POST['x'];
  37.  
  38. if ( $x == 'x') {
  39.  
  40. echo $x;
  41.  
  42. $plik_tmp = $_FILES['plik']['tmp_name'];
  43. $plik_nazwa = $_FILES['plik']['name'];
  44. $plik_rozmiar = $_FILES['plik']['size'];
  45.  
  46. if(is_uploaded_file($plik_tmp)) {
  47. move_uploaded_file($plik_tmp, "foto/$plik_nazwa");
  48. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  49. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  50. }
  51.  
  52. }
Go to the top of the page
+Quote Post
nospor
post
Post #13





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




Czemu ignorujesz wskazówki, które dostajesz? Myślisz, że podajemy je dla zabawy bo się nudzimy?!

Cytat
3) daj print_r($_FILES); - no ale o tym przecież i tak jest mowa w linku co podałem.


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

"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
agataperz
post
Post #14





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


UPS Przepraszam nie zauważyłam tego wiersza
Go to the top of the page
+Quote Post
nospor
post
Post #15





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




Ale o tym napisałem ci juz w pierwszym poście.
Wiersz o którym mówisz to już kolejne przypomnienie.

I co się wyświetliło?


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

"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
agataperz
post
Post #16





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


niestety nie sciagnelo na serwer

komunikat na www wyskoczył:
Array ( )

a wygląda to tak:
  1. $plik_tmp = $_FILES['plik']['tmp_name'];
  2. $plik_nazwa = $_FILES['plik']['name'];
  3. $plik_rozmiar = $_FILES['plik']['size'];
  4.  
  5. if(is_uploaded_file($plik_tmp)) {
  6. move_uploaded_file($plik_tmp, "foto/$plik_nazwa");
  7. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  8. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  9. }
  10. print_r($_FILES);


Ten post edytował agataperz 18.03.2011, 15:41:29
Go to the top of the page
+Quote Post
kadlub
post
Post #17





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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



if ($s == 'p' )
jak to jest cały skrypt to ten pierwszy if jest bez sensu bo warunek nigdy nie będzie spełniony
przez co w ogóle nie widać formularza.
rozumiem że chcesz przesyłać jakieś foty to chyba muszą w twoim przypadku mieć mały rozmiar
usuń ten pierwszy warunek i spróbuj przesłać jakiś plik tekstowy z notatnika

Ten post edytował kadlub 18.03.2011, 17:11:32
Go to the top of the page
+Quote Post
agataperz
post
Post #18





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


OK znalazlam błąd.
Skrypty ktore są w/w wymienione to działają.
Sprawdziłam to jak przekopiowałam wszystko do osobnego pliku.
Niestety kłóciły się niektóre skrypty które wcześniej umieściłam.
DZIEKI ZA POMOC. uzmysłowiłam sobie dopiero jak kadlub powiedziales o usunieciu tego pierwszego warunku.
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 - 04:26