Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z funkcją uploadownia plików przez formularz
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Na początek chciałem powiedzieć że jestem prawie kompletnie zielony w PHPie. Napisałem taki skrypt:
<?php
$file_dir = 'http:\xampp\uploads';
foreach($_FILES as $plik_nazwa => $plik_tablica) {
echo "ścieżka: ".$plik_tablica["tmp_name"]."<br/>\n";
echo "nazwa: ".$plik_tablica["name"]."<br/>\n";
echo "typ: ".$plik_tablica["type"]."<br/>\n";
echo "rozmiar: ".$plik_tablica["size"]."<br/>\n";
if (is_uploaded_file($plik_tablica["tmp_name"])) {
move_uploaded_file($plik_tablica["tmp_name"],
$file_dir) or die ("Nie można przenieść pliku");
echo "Plik został przeniesiony!<br/><br/>";
}
}
?>
No właśnie. Problem jest w 2. linijce. Kiedy podane jest to w ten sposób zapisuje mi plik, ale pod tą nazwą i w danej lokalizacji. Czyli otrzymuje plik o nazwie uploads bez żadnego rozszerzenia. Jeżeli próbuję zakończyć to w innych sposób (tak jakbym wskazywał mu katalog
$file_dir = 'http:\xampp\uploads\';
to niestety wywołuje mi błąd składni. Kombinowałem już w różne strony, z adresami http i niestety nic to nie daje, a chodzi mi żeby można było przenosić plik do innego katalogu. W niektórych przypadkach (zastosowanie z adresem http) dostaje komunikat HTTP wrapper does not support writeable connections.
Pracuje na maszynie wirtualnej WIN_XP ze środowiskiem XMAPPa.
Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
InosU31
post
Post #2





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

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


hmm moim zdaniem masz zle sciezke ustawiona bo :

$file_dir = 'http:\xampp\uploads';

powinno byc zapisane :

$file_dir = 'http://xampp/uploads';

pozatym tam jak robisz to wszystko na localhoscie to nie podawaj pelnej sciezki tylko jak masz plik np. uload.php w katalogu np. "upload" a pliki w "pliki" to w sciezce powinienes dac : $file_dir = "pliki/";

druga sprawa nie wiem czy foreach ci przetworzy ta tablice $_FILES bo ona ma dwa indeksy : jeden to nazwa a drugi wartosc.

$_FILES ['name_z _formularza']['wartosc']

pozatym masz cos takiego :

echo "ścieżka: ".$plik_tablica["tmp_name"]."<br/>\n";

a "tmp_name" to chyba jest nazwa pliku tymczasowego a nie sciezka;-)

i kolejna sprawa jest taka ze on ci pewnie zapisuje pliki jako uploads bo tak mu ta nazwe podales;-)

  1. move_uploaded_file($plik_tablica["tmp_name"],
  2. [u] $file_dir[/u])


zobacz to tak :

  1. $file_dir = "uploads/"; // nazwa katalogu w ktorym beda umieszcane pliki
  2. $nazwa_pliku = "tutaj wstaw jak plik ma sie na serwerze nazywac";
  3. //$_FILES ['name'] - zamiast name wstaw nazwe jaka masz w formularzu dla tego pola
  4. echo "ścieżka: ".$file_dir."<br/>\n";
  5. echo "nazwa: ".$_FILES ['name']['tnp_name']."<br/>\n"; // nazwa tymczasowa
  6. echo "typ: ".$_FILES ['name']['type']."<br/>\n";
  7. echo "rozmiar: ".$_FILES ['name']['size']."<br/>\n";
  8. if (is_uploaded_file($_FILES ['name']['tnp_name']))
  9. {
  10. move_uploaded_file($_FILES ['name']['tnp_name'],
  11. $nazwa_pliku)
  12.  
  13. // ewentualnie
  14. // move_uploaded_file($_FILES ['name']['tnp_name'], $_FILES['name'] ['name']) // to pierwsze name to nazwa z formularza pola name
  15.  
  16. echo "Plik został przeniesiony!<br/><br/>";
  17. }
  18. else echo "Nie mozna przeniesc pliku";
  19.  
  20.  


Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 07:01