Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wgrywanie plików na problem - nic sie nie dzieje
klapaucius
post 21.08.2010, 19:09:29
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Mam następujący problem:
  1. <?php
  2. $location = 'clubs/big_picture/' . basename($_FILES['userfile']['name']);
  3. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $location)) {
  4. echo "Plik został załadowany poprawnie...";
  5. } else {
  6. echo "Plik nie został załadowany...";
  7. }
  8. ?>
  9. <form enctype="multipart/form-data" action="control.php?page=gang_pictures" method="POST">
  10. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
  11. Plik do wysłania: <input name="userfile" type="file" />
  12. <input type="submit" value="Wyślij" />
  13. </form>

Mam taki kodzik i nie wiem co mam zle, gdyz po wybraniu pliku i wcisnieciu "wyslij" nic sie nie dzieje, tzn formularz się "wyczyszcza". Nie wyskakuje jednak żaden komunikat, który powinien wyskoczyć przy jakiejkolwiek - udanej lub nieudanej próbie wgrania pliku. Siedzę nad tym z jakąś godzine i nie mam pojecia co tu jest zle. prosze o pomoc!

Ten post edytował klapaucius 21.08.2010, 20:04:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Fifi209
post 21.08.2010, 19:44:37
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


a gdzie masz $location zdefiniowane ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
klapaucius
post 21.08.2010, 20:05:19
Post #3





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cytat(fifi209 @ 21.08.2010, 20:44:37 ) *
a gdzie masz $location zdefiniowane ?

ah tak... sory, zapomniałem skopiować. Już poprawiłem W każdym razie również z zadeklarowaną ową zmienną nic nowego sie nie dzieje
Go to the top of the page
+Quote Post
everth
post 21.08.2010, 20:10:00
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


  1. Czy dany katalog istnieje?
  2. Czy ma ustawione uprawnienia do zapisu (chmod 777) ?
  3. Czy ścieżka bezwzględna (realpath()) z $location zgadza się ze ścieżką dostępu do tego katalogu?


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
klapaucius
post 22.08.2010, 22:09:09
Post #5





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cytat(everth @ 21.08.2010, 21:10:00 ) *
  1. Czy dany katalog istnieje?
  2. Czy ma ustawione uprawnienia do zapisu (chmod 777) ?
  3. Czy ścieżka bezwzględna (realpath()) z $location zgadza się ze ścieżką dostępu do tego katalogu?

1 - tak
2 - tak
3- nie za bardzo rozumiem... O jaką ścieżkę bezwzględną chodzi?
Go to the top of the page
+Quote Post
everth
post 22.08.2010, 22:17:37
Post #6





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Ad. 3: Daj sobie var_dump(realpath($location)) i zobacz czy to co wypluwa pokrywa się ze ścieżką do twojego katalogu.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Ramzaa
post 22.08.2010, 23:40:39
Post #7





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Wszystko ładnie pięknie, ale za cholerę nie widzę tutaj funkcji do przesyłania pliku na serwer. Ja jestem ślepy? Dalej.. hmm.. ścieżka - ja bym spróbował tak zrobić:
  1. $location = '../clubs/big_picture/' . basename($_FILES['userfile']['name']);

A tutaj poprawny kod:
  1. <?php
  2.  
  3. if (isset($_POST['submit'])) {
  4.  
  5. $location = '../clubs/big_picture/' . basename($_FILES['userfile']['name']);
  6.  
  7. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $location)) {
  8.  
  9. echo "Plik został załadowany poprawnie...";
  10. move_uploaded_file($_FILES['userfile']['tmp_name'], "$location");
  11.  
  12. }
  13.  
  14. else {
  15.  
  16. echo "Plik nie został załadowany...";
  17.  
  18. }
  19.  
  20. }
  21.  
  22. else {
  23.  
  24. ?>
  25.  
  26. <form enctype="multipart/form-data" action="control.php?page=gang_pictures" method="POST">
  27. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
  28. Plik do wysłania: <input name="userfile" type="file" />
  29. <input type="submit" name="submit" value="Wyślij" />
  30. </form>
  31.  
  32. <?php
  33.  
  34. }
  35.  
  36. ?>

Pozdrawiam.

Ten post edytował Ramzaa 22.08.2010, 23:45:11
Go to the top of the page
+Quote Post
klapaucius
post 23.08.2010, 22:02:40
Post #8





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cytat(Ramzaa @ 23.08.2010, 00:40:39 ) *
Wszystko ładnie pięknie, ale za cholerę nie widzę tutaj funkcji do przesyłania pliku na serwer. Ja jestem ślepy? Dalej.. hmm.. ścieżka - ja bym spróbował tak zrobić:
  1. $location = '../clubs/big_picture/' . basename($_FILES['userfile']['name']);

A tutaj poprawny kod:
  1. <?php
  2.  
  3. if (isset($_POST['submit'])) {
  4.  
  5. $location = '../clubs/big_picture/' . basename($_FILES['userfile']['name']);
  6.  
  7. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $location)) {
  8.  
  9. echo "Plik został załadowany poprawnie...";
  10. move_uploaded_file($_FILES['userfile']['tmp_name'], "$location");
  11.  
  12. }
  13.  
  14. else {
  15.  
  16. echo "Plik nie został załadowany...";
  17.  
  18. }
  19.  
  20. }
  21.  
  22. else {
  23.  
  24. ?>
  25.  
  26. <form enctype="multipart/form-data" action="control.php?page=gang_pictures" method="POST">
  27. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
  28. Plik do wysłania: <input name="userfile" type="file" />
  29. <input type="submit" name="submit" value="Wyślij" />
  30. </form>
  31.  
  32. <?php
  33.  
  34. }
  35.  
  36. ?>

Pozdrawiam.

Dzięki wielkie mistrzu. Gra wszystko. To znaczy prawie wszystko. Mam kolejny problem, może troszkę odchodzi on od tematu ale jak zrobić, aby pliki wgrane na serwer miały domyślną wartość chmod 777? Bo jak teraz wgrywam to nie mają tej wartości i są "zablokowane".
Go to the top of the page
+Quote Post
everth
post 24.08.2010, 01:02:26
Post #9





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


@Ramzaa, a po jaką cholerę dublujesz move_uploaded_file()? Nie wystarczy ci wywołanie jej w warunku?

@klapaucius: chmod();


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
klapaucius
post 25.08.2010, 10:46:05
Post #10





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cytat(everth @ 24.08.2010, 02:02:26 ) *
@Ramzaa, a po jaką cholerę dublujesz move_uploaded_file()? Nie wystarczy ci wywołanie jej w warunku?

Faktycznie. Ale po usunięciu jednej z tych funkcji i zostawieniu tej wywoływanej poprzez warunek działa wszystko ok. Dzięki za spostrzegawczość smile.gif
Cytat(everth @ 24.08.2010, 02:02:26 ) *
@klapaucius: chmod();

Dzięki piękne po raz drugi.
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: 19.07.2025 - 06:54