Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]multiple files upload php mysql
Forum PHP.pl > Forum > Przedszkole
wlodek_789
Mam skrypt odpowiedzialny za przesyłanie jednego pliku i opisów. Plik jest przesyłany na serwer a informacje o nim wraz z opisem do bazy mysql. Chciałbym zrobić przesyłanie wielu plików ale nie wiem jak.
Z góry dziękuję za pomoc.

form
  1. <form enctype="multipart/form-data"
  2. action="upload_image.php" method="post">
  3. <input type="hidden"
  4. name="MAX_FILE_SIZE" value="524288">
  5.  
  6. <fieldset><legend>Select a JPEG or PNG
  7. image of 512KB or smaller to be
  8. uploaded:</legend>
  9.  
  10. <p><b>File:</b> <input type="file"
  11. name="filename" /></p>
  12. <p>
  13. <label for="caption">Caption:</label>
  14. <input type="text" name="caption" id="caption">
  15. </p>
  16.  
  17. <p><b>File2:</b> <input type="file"
  18. name="filename2" /></p>
  19. <p>
  20. <label for="caption2">Caption2:</label>
  21. <input type="text" name="caption" id="caption">
  22. </p>
  23.  
  24. </fieldset>
  25. <div align="center"><input type="submit"
  26. name="submit" value="Submit" /></div>
  27. <input type="hidden" name="submitted"
  28. value="TRUE" />
  29. </form>


-------------------------------------------------------------------------------------------

php

  1. <?php # Upload image
  2.  
  3. // Check if the form has been submitted:
  4. if (isset($_POST['submitted'])) {
  5.  
  6. // Check for an uploaded file:
  7. if (isset($_FILES['filename'])) {
  8.  
  9. // Validate the type. Should be JPEG or PNG.
  10. $allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPEG', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');
  11. if (in_array($_FILES['filename']['type'], $allowed)) {
  12.  
  13. // Move the file over.
  14. if (move_uploaded_file ($_FILES['filename']['tmp_name'], "../images/{$_FILES['filename']['name']}")) {
  15. echo '<p><em>The file has been uploaded!</em></p>';
  16. } // End of move... IF.
  17.  
  18. } else { // Invalid type.
  19. echo '<p class="error">Please upload a JPEG or PNG image.</p>';
  20. }
  21. } // End of isset($_FILES['upload']) IF.
  22.  
  23.  
  24. @$path = $_FILES["filename"]["name"];
  25. @$path = mysql_real_escape_string($path);
  26. @$type = $_FILES["filename"]["type"];
  27. @$size = $_FILES["filename"]["size"];
  28. @$nazwa = $_POST["caption"];
  29.  
  30. $query = "INSERT INTO photographs (";
  31. $query .= " filename, type, size, caption,";
  32. $query .= ") VALUES (";
  33. $query .= " '{$path}', '{$type}', '{$size}', '{$caption}'";
  34. $query .= ")";
  35. echo $query;
  36.  
  37. $result = mysqli_query($connection, $query);
  38. if ($result) {
  39. // Success
  40. echo " Success. ";
  41. } else {
  42. // Failure
  43. die(" Failure. " . mysqli_error($connection));
  44.  
  45.  
  46. // Check for an error:
  47.  
  48.  
  49. if ($_FILES['filename']['error'] > 0) {
  50. echo '<p class="error">The file could not be uploaded because: <strong>';
  51.  
  52. // Print a message based upon the error.
  53. switch ($_FILES['filename']['error']) {
  54. case 1:
  55. print 'The file exceeds the upload_max_filesize setting in php.ini.';
  56. break;
  57. case 2:
  58. print 'The file exceeds the MAX_FILE_SIZE setting in the HTML form.';
  59. break;
  60. case 3:
  61. print 'The file was only partially uploaded.';
  62. break;
  63. case 4:
  64. print 'No file was uploaded.';
  65. break;
  66. case 6:
  67. print 'No temporary folder was available.';
  68. break;
  69. case 7:
  70. print 'Unable to write to the disk.';
  71. break;
  72. case 8:
  73. print 'File upload stopped.';
  74. break;
  75. default:
  76. print 'A system error occurred.';
  77. break;
  78. } // End of switch.
  79.  
  80. print '</strong></p>';
  81.  
  82. } // End of error IF.
  83.  
  84. // Delete the file if it still exists:
  85.  
  86. if (file_exists ($_FILES['filename']['tmp_name']) && is_file($_FILES['filename']['tmp_name']) ) {
  87. unlink ($_FILES['filename']['tmp_name']);
  88. } // End of the submitted conditional.
  89. }
  90. }
  91.  
  92. ?>
Turson
W formularzu HTML5 się kłania - multiple.
  1. <input name="plik[]" type="file" multiple="multiple" />


Potem w php wrzucasz plik/pliki w pętlę

  1. for($i=0; $i <= 5; $i++)
  2. {
  3. //proces uploadu
  4. }

Dane dla każdego pliku osobno masz przechowywane w tablicy (uprzednio wrzucone w pętlę)
np.
  1. $_FILES['plik']['tmp_name'][$i]
  2. $_FILES['plik']['size'][$i]
  3. $_FILES['plik']['type'][$i]
Sephirus
W tym przypadku lepsze wydaje mi się kilka pól z pojedynczym plikiem bo można dopasować opis do pliku - czyli tak jak masz jest ok.

Zmień jedynie nazwy pól z filename na filename[] i z caption na caption[]. Wówczas w skrypcie odbierającym możesz jedną pętlą zapisać taki jeden plik i powtarzać to dla pozostałych.


W przypadku multiple - nie wiadomo który opis dotyczy którego pliku.
wlodek_789
dziękuję za odpowiedz:) zrobiłem tak jak pisaliście ale nie działa
tzn mam takie dane w bazie id - "158" filename - "pusto" filename2 - "pusto" type - "Array" size - "0"
Turson
Cytat
zrobiłem tak jak pisaliście ale nie działa

Pokaż kod...
wlodek_789
proszę to cały kod a i jeszcze w mysql mam coś takiego id filename filename2 type size nazwa nazwa2

  1. <?php require_once("../../includes/functions_2.php"); ?>
  2. <?php require_once("../../includes/session.php"); ?>
  3. <?php require_once("../../includes/validation_functions.php"); ?>
  4. <?php confirm_logged_in(); ?>
  5. <?php
  6. //1. polaczenie z baza danych
  7. //polaczenie z baza danych + ustawienie kodowania na utf8
  8. $dbhost = "localhost";
  9. $dbuser = "root";
  10. $dbpass = "3edcvfr4";
  11. $dbname = "dw_bookstore";
  12. $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
  13.  
  14. //sprawdzenie polaczenia
  15. if (mysqli_connect_errno()) {
  16. printf("Connect failed: %s\n", mysqli_connect_error());
  17. exit();
  18. }
  19.  
  20. //zmaiana znako na utf8
  21. if (!mysqli_set_charset($connection, "utf8")) {
  22. printf("Error loading character set utf8: %s\n", mysqli_error($connection));
  23. } else {
  24. //printf("Kodowanie ustawione na: %s\n", mysqli_character_set_name($connection));
  25. }
  26. ?>
  27.  
  28.  
  29.  
  30. <!doctype html>
  31. <html>
  32. <head>
  33. <meta charset="UTF-8">
  34. <title>Upload</title>
  35. <link href="../../stylesheets/main_2.css" rel="stylesheet" type="text/css" media="screen, projection" />
  36. </head>
  37.  
  38. <body>
  39. <div id="wrapper">
  40. <div id="header">
  41. <h2>Cennik: Panel Administracyjny</h2>
  42. </div>
  43. <div id="mainContent">
  44. <h1>Witaj w panelu administracyjnym: <?php echo htmlentities($_SESSION["username"]); ?></h1>
  45.  
  46. <?php # Upload image
  47.  
  48. for($i=0; $i <= 5; $i++) {
  49.  
  50. // Check if the form has been submitted:
  51. if (isset($_POST['submitted'])) {
  52.  
  53. // Check for an uploaded file:
  54. if (isset($_FILES['filename'])) {
  55.  
  56. // Validate the type. Should be JPEG or PNG.
  57. $allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPEG', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');
  58. if (in_array($_FILES['filename']['type'], $allowed)) {
  59.  
  60. // Move the file over.
  61. if (move_uploaded_file ($_FILES['filename']['tmp_name'], "../images/{$_FILES['filename']['name']}")) {
  62. echo '<p><em>The file has been uploaded!</em></p>';
  63. } // End of move... IF.
  64.  
  65. } else { // Invalid type.
  66. echo '<p class="error">Please upload a JPEG or PNG image.</p>';
  67. }
  68. } // End of isset($_FILES['upload']) IF.
  69.  
  70.  
  71. @$path = $_FILES["filename"]["name"][$i];
  72. @$path = mysql_real_escape_string($path);
  73. @$type = $_FILES["filename"]["type"][$i];
  74. @$size = $_FILES["filename"]["size"][$i];
  75. @$nazwa = $_POST["nazwa"];
  76. //@$seria = $_POST["seria"];
  77. //@$kod = $_POST["kod"];
  78. //@$txt = $_POST["txt"];
  79. //@$visible = (int) $_POST["visible"];
  80.  
  81. // przyklad - by moc wpisac 'costam' - tylko txt, nie "file" i "int"
  82. $nazwa = mysqli_real_escape_string($connection, $nazwa);
  83. //$seria = mysqli_real_escape_string($connection, $seria);
  84. //$kod = mysqli_real_escape_string($connection, $kod);
  85. //$txt = mysqli_real_escape_string($connection, $txt);
  86.  
  87. $query = "INSERT INTO photographs (";
  88. $query .= " filename, type, size, nazwa ";
  89. $query .= ") VALUES (";
  90. $query .= " '{$path}', '{$type}', '{$size}', '{$nazwa}'";
  91. $query .= ")";
  92. echo $query;
  93.  
  94. $result = mysqli_query($connection, $query);
  95. if ($result) {
  96. // Success
  97. echo " Success. ";
  98. } else {
  99. // Failure
  100. die(" Failure. " . mysqli_error($connection));
  101.  
  102.  
  103. // Check for an error:
  104.  
  105.  
  106. if ($_FILES['filename']['error'] > 0) {
  107. echo '<p class="error">The file could not be uploaded because: <strong>';
  108.  
  109. // Print a message based upon the error.
  110. switch ($_FILES['filename']['error']) {
  111. case 1:
  112. print 'The file exceeds the upload_max_filesize setting in php.ini.';
  113. break;
  114. case 2:
  115. print 'The file exceeds the MAX_FILE_SIZE setting in the HTML form.';
  116. break;
  117. case 3:
  118. print 'The file was only partially uploaded.';
  119. break;
  120. case 4:
  121. print 'No file was uploaded.';
  122. break;
  123. case 6:
  124. print 'No temporary folder was available.';
  125. break;
  126. case 7:
  127. print 'Unable to write to the disk.';
  128. break;
  129. case 8:
  130. print 'File upload stopped.';
  131. break;
  132. default:
  133. print 'A system error occurred.';
  134. break;
  135. } // End of switch.
  136.  
  137. print '</strong></p>';
  138.  
  139. } // End of error IF.
  140.  
  141. // Delete the file if it still exists:
  142.  
  143. if (file_exists ($_FILES['filename']['tmp_name']) && is_file($_FILES['filename']['tmp_name']) ) {
  144. unlink ($_FILES['filename']['tmp_name']);
  145. } // End of the submitted conditional.
  146. }
  147. }
  148. }
  149.  
  150. ?>
  151. <form enctype="multipart/form-data"
  152. action="photo_upload_x.php" method="post">
  153. <input type="hidden"
  154. name="MAX_FILE_SIZE" value="524288">
  155.  
  156. <fieldset><legend>Select a JPEG or PNG
  157. image of 512KB or smaller to be
  158. uploaded:</legend>
  159.  
  160. <p><b>File:</b> <input type="file"
  161. name="filename[]" /></p>
  162. <p>
  163. <label for="nazwa">nazwa:</label>
  164. <input type="text" name="nazwa[]" id="nazwa">
  165. </p>
  166.  
  167. <p><b>File2:</b> <input type="file"
  168. name="filename[]" /></p>
  169. <p>
  170. <label for="nazwa2">Nazwa2:</label>
  171. <input type="text" name="nazwa[]" id="nazwa2">
  172. </p>
  173.  
  174. </fieldset>
  175. <div align="center"><input type="submit"
  176. name="submit" value="Submit" /></div>
  177. <input type="hidden" name="submitted"
  178. value="TRUE" />
  179. </form>
  180.  
  181. <?php
  182. // 5. Zamkniecie polaczenia
  183. mysqli_close($connection);
  184. ?>
  185. </div>
  186.  
  187. <div id="footer">
  188.  
  189. </div>
  190.  
  191. </body>
  192. </html>
  193. <?php if(isset($database)) { $database->close_connection(); } ?>
Turson
Usuń @ bo wygłuszasz ew. błędy przy zmiennych

  1. if (isset($_FILES['filename']))

Tutaj jak i w wielu innych przypadków brakuje [$i]
wlodek_789
zrobiłem jak według Twoich zaleceń i mam cos takiego ale coś jest nie tak ( @ - nie miało to żadnego znaczenia czy jest czy nie efekt jest taki sam)

  1. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( 'carina_01.jpg', 'image/jpeg', '106767', '786') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( 'Catina_65_01.jpg', 'image/jpeg', '81895', '4675') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '', '', '', '') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '', '', '', '') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '', '', '', '') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '', '', '', '') Success.


w bazie mysql pojawia się 5 rekordów 2 z filename z linkami w filename2 nie ma nic w opisach nie ma nic w pozostałych 3 rekordach jest pusto.

A ja chciałbym żeby w jednym rekordzie pojawiały się link do zdjęć i opisy.

php
-----------------------
  1. <?php # Upload image
  2.  
  3. for($i=0; $i <= 5; $i++) {
  4.  
  5. // Check if the form has been submitted:
  6. if (isset($_POST['submitted'])) {
  7.  
  8. // Check for an uploaded file:
  9. if (isset($_FILES['filename'][$i])) {
  10.  
  11. // Validate the type. Should be JPEG or PNG.
  12. $allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPEG', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');
  13. if (in_array($_FILES['filename']['type'][$i], $allowed)) {
  14.  
  15. // Move the file over.
  16. if (move_uploaded_file ($_FILES['filename']['tmp_name'][$i], "../images/{$_FILES['filename']['name'][$i]}")) {
  17. echo '<p><em>The file has been uploaded!</em></p>';
  18. } // End of move... IF.
  19.  
  20. } else { // Invalid type.
  21. echo '<p class="error">Please upload a JPEG or PNG image.</p>';
  22. }
  23. } // End of isset($_FILES['upload']) IF.
  24.  
  25.  
  26. @$path = $_FILES["filename"]["name"][$i];
  27. @$path = mysql_real_escape_string($path);
  28. @$type = $_FILES["filename"]["type"][$i];
  29. @$size = $_FILES["filename"]["size"][$i];
  30. @$nazwa = $_POST["nazwa"][$i];
  31. //@$seria = $_POST["seria"];
  32. //@$kod = $_POST["kod"];
  33. //@$txt = $_POST["txt"];
  34. //@$visible = (int) $_POST["visible"];
  35.  
  36. // przyklad - by moc wpisac 'costam' - tylko txt, nie "file" i "int"
  37. $nazwa = mysqli_real_escape_string($connection, $nazwa);
  38. //$seria = mysqli_real_escape_string($connection, $seria);
  39. //$kod = mysqli_real_escape_string($connection, $kod);
  40. //$txt = mysqli_real_escape_string($connection, $txt);
  41.  
  42. $query = "INSERT INTO photographs (";
  43. $query .= " filename, type, size, nazwa ";
  44. $query .= ") VALUES (";
  45. $query .= " '{$path}', '{$type}', '{$size}', '{$nazwa}'";
  46. $query .= ")";
  47. echo $query;
  48.  
  49. $result = mysqli_query($connection, $query);
  50. if ($result) {
  51. // Success
  52. echo " Success. ";
  53. } else {
  54. // Failure
  55. die(" Failure. " . mysqli_error($connection));
  56.  
  57.  
  58. // Check for an error:
  59.  
  60.  
  61. if ($_FILES['filename']['error'][$i] > 0) {
  62. echo '<p class="error">The file could not be uploaded because: <strong>';
  63.  
  64. // Print a message based upon the error.
  65. switch ($_FILES['filename']['error'][$i]) {
  66. case 1:
  67. print 'The file exceeds the upload_max_filesize setting in php.ini.';
  68. break;
  69. case 2:
  70. print 'The file exceeds the MAX_FILE_SIZE setting in the HTML form.';
  71. break;
  72. case 3:
  73. print 'The file was only partially uploaded.';
  74. break;
  75. case 4:
  76. print 'No file was uploaded.';
  77. break;
  78. case 6:
  79. print 'No temporary folder was available.';
  80. break;
  81. case 7:
  82. print 'Unable to write to the disk.';
  83. break;
  84. case 8:
  85. print 'File upload stopped.';
  86. break;
  87. default:
  88. print 'A system error occurred.';
  89. break;
  90. } // End of switch.
  91.  
  92. print '</strong></p>';
  93.  
  94. } // End of error IF.
  95.  
  96. // Delete the file if it still exists:
  97.  
  98. if (file_exists ($_FILES['filename']['tmp_name'][$i]) && is_file($_FILES['filename']['tmp_name'][$i]) ) {
  99. unlink ($_FILES['filename']['tmp_name'][$i]);
  100. } // End of the submitted conditional.
  101. }
  102. }
  103. }
  104.  
  105. ?>



-------------------------------------
form

  1. <form enctype="multipart/form-data"
  2. action="photo_upload_x.php" method="post">
  3. <input type="hidden"
  4. name="MAX_FILE_SIZE" value="524288">
  5.  
  6. <fieldset><legend>Select a JPEG or PNG
  7. image of 512KB or smaller to be
  8. uploaded:</legend>
  9.  
  10. <p><b>File:</b> <input type="file"
  11. name="filename[]" /></p>
  12. <p>
  13. <label for="nazwa">nazwa:</label>
  14. <input type="text" name="nazwa[]" id="nazwa">
  15. </p>
  16.  
  17. <p><b>File2:</b> <input type="file"
  18. name="filename[]" /></p>
  19. <p>
  20. <label for="nazwa2">Nazwa2:</label>
  21. <input type="text" name="nazwa[]" id="nazwa2">
  22. </p>
  23.  
  24. </fieldset>
  25. <div align="center"><input type="submit"
  26. name="submit" value="Submit" /></div>
  27. <input type="hidden" name="submitted"
  28. value="TRUE" />
  29. </form>
Turson
  1. for($i=0; $i <= 5; $i++)

zamień na
  1. for($i=0; $i <= 2; $i++)
wlodek_789
zmieniłem i efekt jest taki
  1. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '_dark_room2-(2).jpg', 'image/jpeg', '111284', '435') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '_dark_room2-(1).jpg', 'image/jpeg', '141420', '453') Success. INSERT INTO photographs ( filename, type, size, nazwa ) VALUES ( '', '', '', '') Success.


w mysql są 3 rekordy w filename jest link do zdjęcia
id=227 _dark_room2-(2).jpg imagejpeg
id=228 _dark_room2-(1).jpg image/jpeg
id=229 nic nie ma

a ja chciałbym żeby w filename był _dark_room2-(2).jpg w filename2 _dark_room2-(1).jpg i opisy w jednym rekordzie.
Idzie takie coś zrobić?
Turson
  1. for($i=1; $i <= 2; $i++)



Zaraz, chcesz mieć w jednej tabeli: 2 wiersze ze zdjęciami i 1 wiersz z dwoma opisami?
wlodek_789
w jednej tabeli photographs chciałbym mieć w jednym rekordzie wszystkie informacje np id=234 filename=dark_room1.jpg filename2=dark_room2.jpg nazwa=opis1 nazwa2=opis2

Turson
Czyli w sumie 2 tabele?
Tabela 1: filename | type | size | nazwa
Tabela `photographs`: informacje

Jeśli dobrze rozumiem to w czym masz problem?
wlodek_789
Nie jedna tablea w jednej tabeli która się nazywa 'photographs' chciałbym mieć 2 linki do zdjęć i opisy, dotychczas mogę przesyłać bez problemu jeden plik $_FILES['filename'] a chciałbym 2, żeby w bazie w jednym rekordzie były 2 linki do zdjęć
Nie wiem jak przesłać 2 zdjęcia myślałem,że to będzie proste czyli do $_FILES['filename'] dodam ['filename2'] i będzie ['filename']['filename2'] ale tak mi nie wychodzi.

  1. CREATE TABLE IF NOT EXISTS `photographs` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `filename` varchar(255) CHARACTER SET utf8 NOT NULL,
  4. `filename2` varchar(255) CHARACTER SET utf8 NOT NULL,
  5. `type` varchar(100) NOT NULL,
  6. `size` int(11) NOT NULL,
  7. `nazwa` varchar(255) CHARACTER SET utf8 NOT NULL,
  8. `nazwa2` varchar(255) CHARACTER SET utf8 NOT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=230 ;
Turson
  1. if (move_uploaded_file ($_FILES['filename']['tmp_name'][$i], "../images/{$_FILES['filename']['name'][$i]}"))

Próbowałeś?
wlodek_789
no dokładnie tak mam w kodzie

  1. if (move_uploaded_file ($_FILES['filename']['tmp_name'][$i], "../images/{$_FILES['filename']['name'][$i]}"))
Turson
Pytam bo wyzej napisales cos innego - ['filename']['filename2']
Zmień folder na bieżący i zobacz czy zapisze. Jeśli nie jest to localhost to czy folder ma uprawnienia do zapisu?
wlodek_789
Udało się mogę przesyłać 2 pliki i umieszczać o nich informację w bazie, to kod:

php
  1. <?php # Upload image
  2.  
  3. // sprawdzanie czy formularz został przesłany.
  4. if (isset($_POST['submitted'])) {
  5.  
  6. // czy użytkownik wybrał plik.
  7. //if (isset($_FILES['upload'])) {
  8. if (isset($_FILES['filename']['filename2'])) {
  9.  
  10. // sprawdzanie czy przesylany plik jest wlasciwego typu. Powinien byc albo jpg albo png
  11. $allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPEG', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');
  12. if (in_array($_FILES['filename']['filename2']['type'], $allowed)) {
  13.  
  14. // skopiowanie pliku do katalogu na serwerze.
  15. if (move_uploaded_file ($_FILES['filename']['filename2']['tmp_name'], "../images/{$_FILES['filename']['filename2']['name']}")) {
  16. echo '<p><em>Sukces, plik zostal przeslany!</em></p>';
  17. //$_SESSION["message"] = "Przeslanie pliku powiodlo sie.";
  18. //redirect_to("list_photos_2.php");
  19. } // koniec move... IF.
  20.  
  21. } else { // zly typ pliku.
  22. echo '<p class="error">Prosze wybrac jpg albo png.</p>';
  23.  
  24. }
  25.  
  26. } // Koniec isset($_FILES['upload']) IF.
  27.  
  28.  
  29. @$path = $_FILES["filename"]["name"];
  30. @$path2 = $_FILES["filename2"]["name"];
  31. @$path = mysql_real_escape_string($path);
  32. @$path2 = mysql_real_escape_string($path2);
  33. @$type = $_FILES["filename"]["type"];
  34. @$type2 = $_FILES["filename2"]["type"];
  35. @$size = $_FILES["filename"]["size"];
  36. @$size2 = $_FILES["filename2"]["size"];
  37. @$nazwa = $_POST["nazwa"];
  38. @$seria = $_POST["seria"];
  39. @$kod = $_POST["kod"];
  40. @$txt = $_POST["txt"];
  41. @$visible = (int) $_POST["visible"];
  42.  
  43. // przyklad - by moc wpisac 'costam' - tylko txt, nie "file" i "int"
  44. $nazwa = mysqli_real_escape_string($connection, $nazwa);
  45. $seria = mysqli_real_escape_string($connection, $seria);
  46. $kod = mysqli_real_escape_string($connection, $kod);
  47. $txt = mysqli_real_escape_string($connection, $txt);
  48.  
  49. $query = "INSERT INTO photographs (";
  50. $query .= " filename, filename2, type, type2, size, size2, nazwa, seria, kod, txt, visible";
  51. $query .= ") VALUES (";
  52. $query .= " '{$path}', '{$path2}', '{$type}', '{$type2}', '{$size}', '{$size2}', '{$nazwa}', '{$seria}', '{$kod}', '{$txt}', '{$visible}'";
  53. $query .= ")";
  54. echo $query;
  55.  
  56. $result = mysqli_query($connection, $query);
  57. if ($result) {
  58. // Success
  59. //$_SESSION["message"] = "Sukces! Dane zostaly przeslane na serwer.";
  60. // redirect_to("list_photos_2.php");
  61. echo " Sukces! Dane zostaly przeslane na serwer. ";
  62. //$message = "wypełnij pole: {$nazwa}";
  63. } else {
  64. // Failure
  65. // $message = "Subject creation failed";
  66. //$message = "Błąd: Proszę wypełnić pole:";
  67. //$_SESSION["message"] = "Przeslanie danych nie powiodlo sie.";
  68. // redirect_to("list_photos_2.php");
  69. die("Przeslanie danych nie powiodlo sie. " . mysqli_error($connection));
  70.  
  71. // Check for an error:
  72.  
  73. if ($_FILES['filename']['filename2']['error'] > 0) {
  74. echo '<p class="error">The file could not be uploaded because: <strong>';
  75.  
  76. // Print a message based upon the error.
  77. switch ($_FILES['filename']['filename2']['error']) {
  78. case 1:
  79. print 'The file exceeds the upload_max_filesize setting in php.ini.';
  80. break;
  81. case 2:
  82. print 'The file exceeds the MAX_FILE_SIZE setting in the HTML form.';
  83. break;
  84. case 3:
  85. print 'The file was only partially uploaded.';
  86. break;
  87. case 4:
  88. print 'No file was uploaded.';
  89. break;
  90. case 6:
  91. print 'No temporary folder was available.';
  92. break;
  93. case 7:
  94. print 'Unable to write to the disk.';
  95. break;
  96. case 8:
  97. print 'File upload stopped.';
  98. break;
  99. default:
  100. print 'A system error occurred.';
  101. break;
  102. } // End of switch.
  103.  
  104. print '</strong></p>';
  105.  
  106. } // End of error IF.
  107.  
  108. // Usuniecie zdjecia z folderu tymczasowego:
  109. if (file_exists ($_FILES['filename']['filename2']['tmp_name']) && is_file($_FILES['filename']['filename2']['tmp_name']) ) {
  110. unlink ($_FILES['filename']['filename2']['tmp_name']);
  111. }
  112.  
  113. } // End of the submitted conditional.
  114.  
  115. }
  116.  
  117. ?>



-------------------------------------

form
  1. <form enctype="multipart/form-data" action="photo_upload_x2.php" method="post">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="524288">
  3. <legend>Wybierz JPEG albo PNG. Plik nie może przekraczać 512KB:</legend>
  4. <fieldset>
  5. <ul class="formList">
  6.  
  7. <li>
  8. <label for="filename" class="file">Zdjęcie:</label>
  9. <input name="filename" type="file" id="filename" tabindex="10">
  10. </li>
  11.  
  12. <li>
  13. <label for="filename2" class="file">Zdjęcie2:</label>
  14. <input name="filename2" type="file" id="filename2" tabindex="15">
  15. </li>
  16.  
  17. <li>Widoczny?</li>
  18. <li>
  19. <label>
  20. <input type="radio" name="visible" value="0" id="visible" tabindex="20">
  21. {nie}</label>
  22. <label>
  23. <input type="radio" name="visible" value="1" id="visible" tabindex="30">
  24. {tak}</label>
  25. </li>
  26.  
  27.  
  28.  
  29. <li>
  30. <label for="nazwa" class="text">Nazwa:</label>
  31. <input name="nazwa" type="text" id="nazwa" tabindex="40"/>
  32. </li>
  33.  
  34. <li>
  35. <label for="seria" class="text">Seria:</label>
  36. <input name="seria" type="text" id="seria" tabindex="50"/>
  37. </li>
  38.  
  39.  
  40. <li>
  41. <label for="kod" class="text">Kod:</label>
  42. <input name="kod" type="text" id="kod" tabindex="60" >
  43. </li>
  44.  
  45. <li>
  46. <label for="txt" class="text">Opis:</label>
  47. <textarea name="txt" id="txt" tabindex="230"></textarea>
  48. </li>
  49.  
  50. <li>
  51. <input type="submit" name="submit" id="submit" value="Wstaw produkt" tabindex="240">
  52. </li>
  53.  
  54. <input type="hidden" name="submitted" value="TRUE" />
  55. </fieldset>
  56. </form>


Sephirus i Turson wielkie dzięki za poswięcony czas i pomoc thumbsupsmileyanim.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.