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%)
-----


Okej, wprowadziłem poprawke odnośnie UTFa.

Mam teraz skrypt, niby nie bezpośrednio powiązny z tematem, ale jego uzupełninie - chodzi o skrypt wyświetlający obrazki z pomocą bazy danych i pozwalający dany z nich wywalić, zarówno z serwera jak i bazy. Tutaj jest kod:
  1. <?php
  2. require "conn.inc.php";
  3. $path = str_replace('/dashboard/banners_delete.php','',$_SERVER['PHP_SELF']);
  4. $sciezka = 'psw'; // można wywalić później
  5. $katalog = "$path/banners";
  6.  
  7. $banners = mysql_query('SELECT * FROM banners', $conn) or die("Nie udało się pobrać danych z bazy") ;
  8.  
  9. while($row = mysql_fetch_assoc($banners)){
  10. foreach($row as $key => $value) {
  11. $$key = $value;
  12. }
  13. $link="$katalog/$filename";
  14. echo "<div class='banner'><img src='$link' alt='$filename' ></br>";
  15. echo '<form name="usun" id="usun" method="post" action="banners_delete.php"/>';
  16. echo '<input type=hidden name=id value="$id" />';
  17. echo '<input type=submit value="Usuń" onclick="return usun();"/>';
  18. echo '</form></div>';
  19. }
  20.  
  21. function usun()
  22. {
  23. $numer=$id;
  24. unlink("$katalog/$filename");
  25. $sql = "DELETE FROM `banners` WHERE `id_banner`='$numer'";
  26. return mysql_query($sql, $conn) or die("Nie udało się usunąć danych z bazy") ;
  27. }
  28. ?>


Obrazki się wyświetlają, natomiast przycisk nie usuwa wpisu - wiem ze coś z nimi nie tak, ale nie jestem pewien co. Pewnie przesyłanie tego id do funkcji usun().
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: 28.12.2025 - 07:51