Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapis plikow z tablicy array do bazy [MySQL][PHP], zapis 3 plików do bazy mysql
sharp156
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

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


Witam. Jak dodać kilka plików do bazy mysql. Przejmuje tablice ze wszystkimi zmiennymi ale problem leży w tym, że po zapisie jest tylko jeden plik w polu...
czy do każdej wartości trzeba utworzyć osobne pole czy można wepchnąć te trzy pliki w jedno ple....
  1. <tr><td><h2> przykładowo : Dodaj przynajmniej 1 swoje zdjęcie.</h2> /// jedno albo dwa albo 3 stąd konieczność tablicy
  2. <?php
  3. <input type="file" name="upload_image[]" />
  4. <br><br>
  5. <input type="file" name="upload_image[]" />
  6. <br><br>
  7. <input type="file" name="upload_image[]" />
  8. <br><br><br>
  9. </td>
  10. </tr>
  11. ?>


  1.  
  2. <?php
  3.  
  4. $config = array();
  5. $config['max_file_size'] = 1048576; // maksymalna wielkość pliku w bajtach, 1MB
  6. $config['accepted_extensions'] = array('jpg', 'jpeg', 'png', 'gif'); // dozwolone rozszerzenia
  7. $config['accepted_mimes'] = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif'); // dozwolone typy MIME
  8.  
  9.  
  10. if ( isset($_FILES['upload_image']) && isset($_POST['upload_submit']) )
  11. {
  12. // pętla analizująca zawartość wszystkich trzech potencjalnie wysyłanych plików
  13. foreach ( $_FILES['upload_image']['error'] as $key => $arr )
  14. {
  15. if ( $_FILES['upload_image']['error'][$key] != UPLOAD_ERR_OK )
  16. {
  17. // błąd wysyłania pliku
  18. continue;
  19. }
  20. if ( $_FILES['upload_image']['size'][$key] > $config['max_file_size'] )
  21. {
  22. // plik jest za duży
  23. continue;
  24. }
  25. if ( file_exists($config['path_images'] . $_FILES['upload_image']['name'][$key]) )
  26. {
  27. // poinformowanie użytkownika o fakcie, że plik o takiej nazwie już istnieje
  28. continue;
  29. }
  30. $extension = explode('.', $_FILES['upload_image']['name'][$key]);
  31. if ( in_array(strtolower($extension[count($extension)-1]), $config['accepted_extensions']) === false || in_array($_FILES['upload_image']['type'][$key], $config['accepted_mimes']) === false )
  32. {
  33. // niepoprawne rozszerzenie pliku
  34. continue;
  35. }
  36. $image = getimagesize($_FILES['upload_image']['tmp_name'][$key]);
  37. if ( !is_array($image) || $image[0] < 1 )
  38. {
  39. // plik graficzny jest spreparowany
  40. continue;
  41. }
  42. if ( !is_uploaded_file($_FILES['upload_image']['tmp_name'][$key]) )
  43. {
  44. // plik nie został wysłany
  45. continue;
  46. }
  47. }
  48. }
  49.  
  50. $fileName = $_FILES['upload_image']['name'][$key];
  51. $tmpName = $_FILES['upload_image']['tmp_name'][$key];
  52. $fileSize = $_FILES['upload_image']['size'][$key];
  53. $fileType = $_FILES['upload_image']['type'][$key];
  54.  
  55. $fp = fopen($tmpName, 'r');
  56. $content = fread($fp, filesize($tmpName));
  57. $content = addslashes($content);
  58. fclose($fp);
  59.  
  60. {
  61. $fileName = addslashes($fileName);
  62. }
  63.  
  64. $db_user='użytkownik';
  65. $db_password='hasło';
  66. $database='nazwa bazy';
  67. mysql_connect('localhost', 'uzytkownik', 'haslo');
  68.  
  69. mysql_select_db(nazwa bazy) or die ("Nie udalo sie wybrac bazy danych");
  70.  
  71.  
  72. $query = "INSERT INTO upload (name, size, type, content ) ".
  73. "VALUES ('$fileName', '$fileSize ', '$fileType ', '$content ')";
  74.  
  75. mysql_query($query) or die('Error, query failed');
  76.  
  77.  
  78.  
  79.  
  80. echo "<br><center><h2>... zapisany do bazy.</h2></center><br>";
  81.  
  82. print_r($_FILES);
  83.  
  84.  
  85. ?>

a to print końcowy który mówi, że jest oki z przesłanymi wartościami.... jak by ktoś miał spytać
  1.  
  2. ... zapisany do bazy.
  3.  
  4.  
  5. Array ( [upload_image] => Array ( [name] => Array ( [0] => tlo3.jpg [1] => marijuana_leaf2.gif [2] => madziaa.jpg ) [type] => Array ( [0] => image/jpeg [1] => image/gif [2] => image/jpeg ) [tmp_name] => Array ( [0] => /tmp/php7f2kd7 [1] => /tmp/phpB1ijGJ [2] => /tmp/phpzElJKp ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [size] => Array ( [0] => 82080 [1] => 46743 [2] => 8232 ) ) )


ps... Pomińmy rozważania odnośnie składowania plików w mysql..... tongue.gif

Ten post edytował sharp156 24.06.2011, 06:17:56
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:15