Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Upload bannerów z wpisem do bazy
wyrdhamster
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.12.2009

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


Mam zlepiony i ogarnięty skrypt w PHP do uploadu plików:

*Formularz:
  1. <form enctype="multipart/form-data" action="bannersadd.php" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="500000000000" /> <input
  3. name="plik" type="file" /> <input type="submit" value="Wyślij plik" />
  4. </form>


*Skrypt:
  1. <?php
  2. // podłączamy plik connection.php
  3. require "connection.php";
  4. // wywołujemy funkcję connection()
  5. connection();
  6.  
  7. $path = $_SERVER['DOCUMENT_ROOT'];
  8. $sciezka = 'psw'; // można wywalić później
  9. $katalog = $path.'/'.$sciezka.'/banners';
  10. $plik_tmp = $_FILES['plik']['tmp_name'];
  11. $plik_nazwa = $_FILES['plik']['name'];
  12. $plik_rozmiar = $_FILES['plik']['size'];
  13.  
  14.  
  15. if(is_uploaded_file($plik_tmp)) {
  16. move_uploaded_file($plik_tmp, $katalog);
  17. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  18. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  19. }
  20.  
  21. if(isset($_POST['submit'])) {
  22. $zapytanie = "INSERT INTO banners ( filename ) VALUES ('$plik_nazwa')";
  23. mysql_query($zapytanie) or die(mysql_error());
  24. print("<h1>Dane zostały dodane<br />");
  25. }
  26. ?>


Od dwóch dni się z nim gryze i nie mam pojęcia co jest nie tak. (IMG:style_emoticons/default/sciana.gif)

Formularz działa, pobiera plik, ale skrypt wrzucający na serwer już nie, i wywala takie o to komunikaty:

Warning: move_uploaded_file(/home/klient.dhosting.pl/adkl/psw/banners) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/klient.dhosting.pl/adkl/psw/bannersadd.php on line 21

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/klient.dhosting.pl/adkl/.tmp/phpNSNMEH' to '/home/klient.dhosting.pl/adkl/psw/banners' in /home/klient.dhosting.pl/adkl/psw/bannersadd.php on line 21

Plik: przód.jpg o rozmiarze 25726 bajtów został przesłany na serwer!


Czy ktoś może mi powiedzieć co tu może być nie tak?

Ten post edytował wyrdhamster 2.12.2009, 22:13:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wyrdhamster
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.12.2009

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


Cytat(darko @ 2.12.2009, 23:34:22 ) *
No tak, a dlaczego nie podajesz nazwy pliku tylko sam folder jako destination dla funkcji move_uploaded_file (IMG:style_emoticons/default/questionmark.gif)

Bo myślałem ze wystarczy wskazać tylko katalog docelowy...

Dziękuję, zaraz wypróbuje poprawki... (IMG:style_emoticons/default/smile.gif)

I działa. (IMG:style_emoticons/default/smile.gif) Przesyła pliki jak trzeba. Jeszcze raz dzięki darko. (IMG:style_emoticons/default/guitar.gif)

Ale pojawił się inny problem - nie robi wpisu do bazy powiązanego z uploaddem. Struktura tabeli banners:

  1. CREATE TABLE IF NOT EXISTS `banners` (
  2. `id_banner` int(5) NOT NULL AUTO_INCREMENT,
  3. `filename` varchar(30) collate utf8_bin NOT NULL,
  4. PRIMARY KEY (`id_banner`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;


Ten post edytował wyrdhamster 3.12.2009, 13:09:51
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: 30.12.2025 - 18:23