Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z upload jeszcze raz
senor_d
post 15.03.2006, 16:35:36
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.02.2005
Skąd: skad

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


witam

wiem ze ten temat byl juz poruszany nie raz ale przejrzalem wszystko co znalazlem na forum, pl.php.net, artykuly na www.php.pl i nic nie pomaga. Jest prosty, bez kombinacji.

  1. <?php
  2. $dir = 'dir/';
  3. $file = $dir . $_FILES['plik']['name'];
  4.  
  5.  
  6. if (is_uploaded_file($_FILES['plik']['tmp_name'])) { 
  7.  
  8. if (move_uploaded_file($_FILES['plik']['tmp_name'],$_FILES['plik']['name'])) {
  9.  print "Plik został zapisany na serwerze";
  10. } else {
  11.  print "Błąd przenoszenia pliku!";
  12. }
  13.  
  14. } else {
  15. print "Błąd zapisywania pliku!";
  16. }
  17. ?>


  1. <form action="?a=file" method="post" enctype="multipart/form-data">
  2.  
  3. <input type="hidden" name="MAX_FILE_SIZE" value="10000"/>
  4.  
  5. <input type="file" name="plik" /><input type="submit" value="Dodaj" />
  6.  
  7. </form>


Nie jest to tez wina atrybutow chyba bo folder 'dir' jest na 777. Nie wiem czy to wina skryptu bo sprobowalem tez i tego z http://www.php.pl/artykuly/dla_poczatkujacych/upload_plikow i on tez nie dziala. W kazdym razie kod wywala sie na is_uploaded_file() i zwraca "Błąd zapisywania pliku!". Z gory dzieki

Ten post edytował senor_d 15.03.2006, 16:36:10
Go to the top of the page
+Quote Post
ave
post 15.03.2006, 16:41:22
Post #2





Grupa: Zarejestrowani
Postów: 117
Pomógł: 2
Dołączył: 29.01.2004
Skąd: Rz-ów

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


Cytat
bool move_uploaded_file ( string nazwa_pliku, string przeznaczenie )


  1. <?php
  2.  if (move_uploaded_file($_FILES['plik']['tmp_name'],$file)) {
  3. ?>
Go to the top of the page
+Quote Post
senor_d
post 15.03.2006, 16:57:47
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.02.2005
Skąd: skad

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


spoko, dzieki, tu masz racje. ale skrypt dalej nie dziala. wykonanie kodu nie dochodzi do tego miejsca ktore poprawiles. jesli zwraca "Błąd zapisywania pliku!" to znaczy ze problem jest przy is_uploaded_file().

Cytat
bool is_uploaded_file ( string nazwa_pliku )


i zgodnie z przykladem na pl.php.net warunek
  1. <?php
  2. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  3. ?>

jest poprawny.

Ten post edytował senor_d 15.03.2006, 16:59:36
Go to the top of the page
+Quote Post
Michasko
post 15.03.2006, 17:55:23
Post #4





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Cytat(senor_d @ 2006-03-15 15:35:36)
$dir = 'dir/';

Nie wiem...może sie myle smile.gif
Ale wydaje mi sie, że to powinna być ścieżka do katalogu docelowego tongue.gif


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
senor_d
post 15.03.2006, 18:05:18
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.02.2005
Skąd: skad

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


no ale to przeciez jest sciezka do katalogu docelowego. po prostu w tym przypadku katalog docelowy nazywa sie 'dir'. to przeciez nie ma znaczenia jak katalog sie bedzie nazywal. moze byc i 'gitara'. probowalem tez
Cytat
$dir = '/dir/';  $dir = 'dir';

ale nie ma roznicy.

Ten post edytował senor_d 15.03.2006, 18:06:08
Go to the top of the page
+Quote Post
nospor
post 15.03.2006, 18:12:23
Post #6





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




@senor_d tak to jest, jak ktoś przeczyta połowicznie temat i doszukuje sie problemow nie tam gdzie trzeba... za takie cos to pouszach mozna oberwac smile.gif

a ty to sprawdzasz po wyslaniu formularza? Bo w kodzie widzę, ze formularz jest wysylany do tego samego skryptu, czyli ze moze sprawdzane to jest przed wyslaniem?
A jesli nie to wyswietl:
  1. <?php
  2. echo $_FILES['plik']['tmp_name'];
  3. ?>
jest tam to co powinno?
A najlepiej daj tak:
  1. <?php
  2. print_r($_FILES);
  3. ?>


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

"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
senor_d
post 15.03.2006, 18:37:37
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.02.2005
Skąd: skad

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


sprawdzalem wczesniej print_r($_FILES); ale zapomnialem o tym napisac sadsmiley02.gif. w kazdym razie
  1. <?php
  2. print_r($_FILES);
  3. ?>

zwraca
Cytat
Array ( [plik] => Array ( [name] => 1.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) )

a
  1. <?php
  2. echo $_FILES['plik']['tmp_name'];
  3. ?>

nic nie zwraca
Go to the top of the page
+Quote Post
nospor
post 15.03.2006, 18:48:11
Post #8





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




no i nie mozna tak bylo od razu? winksmiley.jpg
blad otrzymujesz, a konkretnie numer 2. patrzysz wiec tu:
http://pl.php.net/manual/pl/features.file-upload.errors.php
i co widzisz? ze plik przekroczyl dopuszczalny rozmiar... smile.gif 10KB u Ciebie


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

"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
senor_d
post 15.03.2006, 18:56:43
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 17.02.2005
Skąd: skad

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


dzieki nospor. wielkie dzieki smile.gif. teraz jest 'git'ara guitar.gif smile.gif
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 Wersja Lo-Fi Aktualny czas: 14.06.2025 - 10:48