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
jacusek
post
Post #2





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

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


Witam ponownie. Dziękuję za pomoc, ale niestety nadal nie jest to o co mi chodzi. I tak cały czas zapisuje mi to do pliku zamiast do katalogu.
Użyłem też twojego skryptu, ale niestety także nie działa (IMG:style_emoticons/default/sad.gif) - cały czas przenosi plik w niebyt (IMG:style_emoticons/default/sad.gif)
Ba dostaje komunikat że plik się przeniósł, mimo że zrobiłem błąd w ścieżce.
Podam może jeszcze kod html - i może tam robię jakiś błąd. Już szczerze mówiąc nie wiem gdzie szukać. Tak jak pisałem wcześniej dopiero uczę się PHP i stąd może moje głupie pytania:

  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
  2. <title>Przesyłanie pliku przez formularz</title>
  3. </head>
  4. <form action="wyslij_plik.php" enctype="multipart/form-data" method="post">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="51200">
  6. <p><strong>Pliki do wysłania:</strong>
  7. <input type="file" name="plik"></p>
  8. <p><input type="submit" value="Wyślij"></p>
  9. </form></body></html>


i dodatkowo "nowy" kod php
  1. <?php
  2. $file_dir = 'uploads/';
  3. $nazwa_pliku = "przeniesiony";
  4. $_FILES ['plik'];
  5. echo "ścieżka: ".$file_dir."<br/>\n";
  6. echo "nazwa: ".$_FILES['plik']['tmp_name']."<br/>\n"; // nazwa tymczasowa
  7. echo "typ: ".$_FILES ['plik']['type']."<br/>\n";
  8. echo "rozmiar: ".$_FILES ['plik']['size']."<br/>\n";
  9. if (is_uploaded_file($_FILES ['plik']['tmp_name']))
  10. {
  11. move_uploaded_file($_FILES ['name']['tmp_name'],
  12. $nazwa_pliku);
  13. echo "Plik został przeniesiony!<br/><br/>";
  14. }
  15. else echo "Nie mozna przeniesc pliku";
  16. ?>


W przeglądarce otrzymuje taki komunikat:
ścieżka: uploads/
nazwa: C:\XAMPP\tmp\phpE2.tmp
typ: application/vnd.ms-excel
rozmiar: 38912
Plik został przeniesiony!
Więc niby wszytko w porządku. Tylko gdzie ten plik się podziewa??
Z góry dzięki za pomoc.

Ten post edytował jacusek 29.10.2009, 20:18:00
Go to the top of the page
+Quote Post
Blame
post
Post #3





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Po pierwsze to bbcode. A po drugie to nie mam pojęcia skąd skrypt ma wiedzieć do jakiego katalogu przenieść plik, skoro mu go nie podajesz?
  1. <?php
  2. $file_dir = 'uploads/';
  3. $nazwa_pliku = "przeniesiony";
  4. $_FILES ['plik'];
  5. echo "ścieżka: ".$file_dir."<br/>\n";
  6. echo "nazwa: ".$_FILES['plik']['tmp_name']."<br/>\n"; // nazwa tymczasowa
  7. echo "typ: ".$_FILES ['plik']['type']."<br/>\n";
  8. echo "rozmiar: ".$_FILES ['plik']['size']."<br/>\n";
  9. if (is_uploaded_file($_FILES ['plik']['tmp_name']))
  10. {
  11. move_uploaded_file($_FILES ['name']['tmp_name'], $file_dir.$nazwa_pliku); //<-tu był błąd
  12. echo "Plik został przeniesiony!<br/><br/>";
  13. }
  14. else echo "Nie mozna przeniesc pliku";
  15. ?>


Ten post edytował Blame 29.10.2009, 19:03:22
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: 11.10.2025 - 22:26