Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]upload i download, Zapis nazwy pliku do bazy
jaca121212
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


Tak jak wyżej w temacie.
1.W jaki sposób lub gdzie dołączyć zapytanie aby przy uloadzie plików pojawiła się nazwa pliku w bazie a plik w folderze.
2. jak zribić aby po nazwie wyciągnietej z bazy możnaby było pobrać plik na dysk z serwera.
dołańczam skrypt uploadu.
  1. <?php
  2.  
  3. $target_dir = "foto/";
  4. $target_file = $target_dir .basename($_FILES["fileToUpload"]["name"]);
  5. $uploadOk = 1;
  6. $FileType = pathinfo($target_file,PATHINFO_EXTENSION);
  7. // Sprawdź, czy plik muzyką
  8. if(isset($_POST["submit"])) {
  9. $check = filesize($_FILES["fileToUpload"]["tmp_name"]);
  10. if($check !== false) {
  11. echo "";
  12. $uploadOk = 1;
  13. } else {
  14. echo "
  15. ";
  16. $uploadOk = 0;
  17. }
  18. }
  19. // Sprawdź, czy plik istnieje
  20. if (file_exists($target_file)) {
  21. echo "";
  22. $uploadOk = 0;
  23. }
  24. // Sprawdź rozmiar pliku
  25. if ($_FILES["fileToUpload"]["size"] >1000) {
  26. echo "Niestety, plik jest zbyt duży.";
  27. $uploadOk = 0;
  28. }
  29. // Umożliwienia niektórych formatów plików
  30. if($FileType == "mp3" ) {
  31. echo "Niestety, tylko plik mp3 jest dozwolony.";
  32. $uploadOk = 0;
  33. }
  34.  
  35. if ($uploadOk == 0) {
  36. echo "Niestety, plik nie został przesłany.";
  37.  
  38. } else {
  39. if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
  40. echo "Plik". basename( $_FILES["fileToUpload"]["name"]). " został przesłany.";
  41. } else {
  42. echo "Niestety, plik jest zbyt duży, plik nie został przesłany.";
  43. }
  44. }
  45. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


1. Nazwę pliku w bazie najlepiej będzie zapisać po upewnieniu się, że plik został pomyślnie przesłany na serwer. W Twoim przypadku będzie to po wierszu 39 - tam dostajesz informację, czy plik udało się przesłać, i przed wierszem 40, gdzie informujesz użytkownika o pomyślnym wykonaniu zadania.
2. readfile - w dokumentacji jest przykład pasujący dokładnie do Twojego pytania.
Go to the top of the page
+Quote Post
jaca121212
post
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 16
Dołączył: 21.12.2014

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


A to readfile to jest do ściągania pliku z serwera.
a jak utworzyć zapytanie do tego skryptu.
(IMG:http://iv.pl/images/58491373330972907522.png)

Zrobiłem to w ten sposób
  1. <?php
  2.  
  3. $target_dir = "foto/";
  4. $target_file = $target_dir .basename($_FILES["fileToUpload"]["name"]);
  5. $uploadOk = 1;
  6. $FileType = pathinfo($target_file,PATHINFO_EXTENSION);
  7. $data = date('Y-m-d H:i:s');
  8. $ip = $_SERVER['REMOTE_ADDR'];
  9. // Sprawdź, czy plik muzyką
  10. if(isset($_POST["submit"])) {
  11. $check = filesize($_FILES["fileToUpload"]["tmp_name"]);
  12. if($check !== false) {
  13. echo "";
  14. $uploadOk = 1;
  15. } else {
  16. echo "
  17. ";
  18. $uploadOk = 0;
  19. }
  20. }
  21. // Sprawdź, czy plik istnieje
  22. if (file_exists($target_file)) {
  23. echo "";
  24. $uploadOk = 0;
  25. }
  26. // Sprawdź rozmiar pliku
  27. if ($_FILES["fileToUpload"]["size"] >100000000) {
  28. echo "Niestety, plik jest zbyt duży.";
  29. $uploadOk = 0;
  30. }
  31. // Umożliwienia niektórych formatów plików
  32. if($FileType == ".mp3" ) {
  33. echo "Niestety, tylko plik mp3 jest dozwolony.";
  34. $uploadOk = 0;
  35. }
  36.  
  37. if ($uploadOk == 0) {
  38. echo "Niestety, plik nie został przesłany.";
  39.  
  40. } else {
  41. if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
  42. $resultat = $polaczenie->query(sprintf("INSERT INTO `pliki` (`user`, `nazwa_pliku`, `ip`, `data`) VALUES ( '%d', '%s', '%s', '%s')",
  43. $_SESSION['id'], $target_file, $ip, $data));
  44.  
  45. echo "Plik". basename( $_FILES["fileToUpload"]["name"]). " został przesłany.";
  46. } else {
  47. echo "Niestety, plik jest zbyt duży, plik nie został przesłany.";
  48. }
  49. }
  50. ?>

i gdy przesyłwm plik na serwer długo wczytuję i po chwili wyskakuję błąd
  1. Warning: move_uploaded_file(foto/12.mp3) [function.move-uploaded-file]: failed to open stream: Permission denied in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 42
  2.  
  3. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/virtual/tmp/php6740dR' to 'foto/12.mp3' in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 42
  4. Niestety, plik jest zbyt duży, plik nie został przesłany.

i jeszcze pytanie w jaki sposób zrobić aby można było przesyłać wszystkie rodzaje plików.

Problem rozwiązany z Uploadem
Go to the top of the page
+Quote Post

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: 24.12.2025 - 22:31