Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Upload
Forum PHP.pl > Forum > Przedszkole
kamil18
Mam taki skrypt do wysyłania dwóch plików na serwer i wszystko jest dobrze tylko że drugi plik nie wysyła się na serwer, nazwa drugiego pliku dodaje się do bazy ale plik się nie wysyła.

  1. <?php
  2. include("check.php");
  3. echo $login;
  4. ?>
  5.  
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  9. <meta http-equiv="Reply-to" content="18kamil@gmail.com">
  10. <meta http-equiv="Content-Language" content="pl">
  11. <meta name="Keywords" content="modele">
  12. <meta name="Description" content="Modele">
  13. <meta name="Author" content="kamil18">
  14. <title>Modele</title>
  15. <link rel="stylesheet" href="styl.css" type="text/css">
  16. </head>
  17. <body>
  18.  
  19. <br><br>
  20.  
  21. <div>
  22. <center><span style= "font-size:15pt;">Model</span>
  23. </div>
  24.  
  25. <br>
  26.  
  27. <div><center>
  28. <form enctype="multipart/form-data" action="dodaj.php" method="POST">
  29. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  30. <input name="plik" type="file" />
  31. <br><br>
  32. <div>
  33. <center><span style= "font-size:15pt;">Zdjęcie</span>
  34. </div>
  35. <br>
  36. <input name="zdj" type="file" />
  37.  
  38. <br><br>
  39.  
  40. <div>
  41. <center><span style= "font-size:15pt;">Rodzaj</span>
  42. </div>
  43.  
  44. <br>
  45.  
  46. <td width="65"><center><select name="rodzaj">
  47.  
  48. <option>Broń biała</option>
  49. <option>Broń dystansowa</option>
  50. <option>Tarcze</option>
  51. <option>Domy</option>
  52. <option>Inne</option>
  53. <option>Broń palna</option>
  54.  
  55. </select></td>
  56.  
  57. <br><br>
  58. <div>
  59. <center><span style= "font-size:15pt;">Opis</span>
  60. </div>
  61. <p align="center"><textarea name="opis" cols="50" rows="10"></textarea></p>
  62. <br>
  63. <input type="submit" value="Wyślij plik" />
  64.  
  65. </form>
  66. </div>
  67.  
  68. <?php
  69.  
  70. if($_POST['rodzaj'] === "Broń biała")$rodzaj = "1";
  71. else if($_POST['rodzaj'] === "Broń dystansowa")$rodzaj = "2";
  72. else if($_POST['rodzaj'] === "Tarcze")$rodzaj = "3";
  73. else if($_POST['rodzaj'] === "Domy")$rodzaj = "4";
  74. else if($_POST['rodzaj'] === "Inne")$rodzaj = "5";
  75. else if($_POST['rodzaj'] === "Broń palna")$rodzaj = "6";
  76.  
  77. $baza = mysql_connect('127.0.0.1', 'root', 'krasnal') or die ("Nie moglem sie polaczyc z serwerem");
  78. mysql_select_db('models') or die ("Nie moglem znalesc bazy danych");
  79.  
  80. $zapytanie = "SELECT numer FROM users WHERE user_login = '$login' ";
  81.  
  82. $idzapytania = mysql_query($zapytanie);
  83.  
  84. while ($wiersz = mysql_fetch_row($idzapytania))
  85. {
  86. $dodnaz = "(".$login."[".$wiersz[0]."])";
  87. $numer = $wiersz[0] + 1;
  88. echo $dodnaz;
  89. echo '<br>';
  90. echo $numer;
  91. }
  92.  
  93. $opis = $_POST['opis'];
  94.  
  95. $plik_tmp = $_FILES['plik']['tmp_name'];
  96. $plik_nazwa = $_FILES['plik']['name'];
  97. $plik_nazwa = explode(".",$plik_nazwa);
  98. $plik_nazwa = $plik_nazwa[0].$dodnaz.'.'.$plik_nazwa[1];
  99.  
  100. $plik_nazwa = str_replace(' ', '_', $plik_nazwa);
  101. $plik_nazwa = str_replace('ą', 'a', $plik_nazwa);
  102. $plik_nazwa = str_replace('ę', 'e', $plik_nazwa);
  103. $plik_nazwa = str_replace('ó', 'o', $plik_nazwa);
  104. $plik_nazwa = str_replace('ś', 's', $plik_nazwa);
  105. $plik_nazwa = str_replace('ł', 'l', $plik_nazwa);
  106. $plik_nazwa = str_replace('ż', 'z', $plik_nazwa);
  107. $plik_nazwa = str_replace('ź', 'z', $plik_nazwa);
  108. $plik_nazwa = str_replace('ć', 'c', $plik_nazwa);
  109. $plik_nazwa = str_replace('ń', 'n', $plik_nazwa);
  110.  
  111. $plik_rozmiar = $_FILES['plik']['size'];
  112.  
  113. if(is_uploaded_file($plik_tmp)) {
  114. move_uploaded_file($plik_tmp, "models/$plik_nazwa");
  115.  
  116. chmod("models/$plik_nazwa", 644);
  117. }
  118. $zdj_tmp = $_FILES['zdj']['tmp_name'];
  119. $zdj_nazwa = $_FILES['zdj']['name'];
  120. $zdj_nazwa = explode(".",$zdj_nazwa);
  121. $zdj_nazwa = $zdj_nazwa[0].$dodnaz.'.'.$zdj_nazwa[1];
  122.  
  123. $zdj_nazwa = str_replace(' ', '_', $zdj_nazwa);
  124. $zdj_nazwa = str_replace('ą', 'a', $zdj_nazwa);
  125. $zdj_nazwa = str_replace('ę', 'e', $zdj_nazwa);
  126. $zdj_nazwa = str_replace('ó', 'o', $zdj_nazwa);
  127. $zdj_nazwa = str_replace('ś', 's', $zdj_nazwa);
  128. $zdj_nazwa = str_replace('ł', 'l', $zdj_nazwa);
  129. $zdj_nazwa = str_replace('ż', 'z', $zdj_nazwa);
  130. $zdj_nazwa = str_replace('ź', 'z', $zdj_nazwa);
  131. $zdj_nazwa = str_replace('ć', 'c', $zdj_nazwa);
  132. $zdj_nazwa = str_replace('ń', 'n', $zdj_nazwa);
  133.  
  134. $zdj_rozmiar = $_FILES['zdj']['size'];
  135.  
  136. if(is_uploaded_file($zdj_tmp)) {
  137. move_uploaded_file($zdj_tmp, "models/$zdj_nazwa");
  138.  
  139. //chmod("zdjecia/$zdj_nazwa", 644);
  140. echo $plik_tmp;
  141. ?>
  142. <center>
  143. <?php
  144. echo "Model: <strong>$plik_nazwa</strong> o rozmiarze
  145. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer i dodany do bazy danych!";
  146. ?>
  147.  
  148. <!-- <meta http-equiv='refresh' content='0;url=index.php'> !-->
  149.  
  150. <?php
  151. mysql_query("INSERT INTO `models` (`rodzaj`, `autor`, `zdjecie`, `plik`, `opis`)
  152. VALUES
  153. ('$rodzaj', '$login', '$zdj_nazwa', '$plik_nazwa', '$opis')
  154. ") or die("Nie udalo się dorzucic rekordu");
  155.  
  156. mysql_query("UPDATE `users`
  157. SET `numer` = '$numer'
  158. WHERE `user_login` = '$login'
  159. ") or die("Nie udalo mi sie uaktualnić rekordow");
  160. }
  161. ?>
  162.  
  163. </body>
  164. </html>
Blame
Jesteś pewny, czy drugi plik się nie wysyła, czy po prostu nie chce się wyświetlać, bo z tego co widzę to źle ustalasz drugi chmod:
  1. if(is_uploaded_file($zdj_tmp)) {
  2.  
  3. move_uploaded_file($zdj_tmp, "models/$zdj_nazwa");
  4.  
  5. //chmod("zdjecia/$zdj_nazwa", 644);
kamil18
Jak widać drugi chmod nie ustawiam bo przed komendom jest "//" i go omija, dałem żeby omijało tą komendę bo jak była włączona to wywalało błąd że nie może zmienić chmodu bo nie ma pliku czyli plik się nie wysyłał.

EDIT:

problem rozwiązany
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.