Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wrzucanie kilku plików
Forum PHP.pl > Forum > Przedszkole
polkom21
Cześć. Mam taki mały problem. Napisałem skrypt wysyłania dokładnie dwóch plików i wszystko jest ok tylko, że wysyła mi się tylko jeden plik. w tym ostatni. Co jest nie tak? Jak to rozwiązać lepiej?

  1. if(isset($_POST['dodajzdj']))
  2. {
  3. if ($_FILES['graphic_big']['error'] > 0 || $_FILES['graphic_small']['error'] > 0) {
  4. echo 'Wystąpił bład podczas dodawania grafiki.<br />';
  5. header( "refresh:5;url=?page=gallery&action=add" );
  6. } else {
  7. if(file_exists("../graphics/".$_FILES['graphic_big']['name'])){
  8. echo 'Plik "'.$_FILES['graphic_big']['name'].'" już istnieje.';
  9. } else {
  10. $from = array('ą','ż','ź','ć','ę','ń','ó','ł');
  11. $to = array('a','z','z','c','e','n','o','l');
  12. $name = str_replace($from, $to, $_FILES['graphic_big']['name']);
  13. $name_small = str_replace($from, $to, $_FILES['graphic_small']['name']);
  14. move_uploaded_file($_FILES['graphic_big']['tmp_name'], '../graphics/'.$name);
  15. move_uploaded_file($_FILES['graphic_small']['tmp_name'], '../graphics/'.$name);
  16. echo 'Grafiki została dodana pomyślnie.<br />';
  17. echo '<img src="../graphics/'.$name_small.'" alt="'.$name_small.'" style="max-width:300px;" /><img src="../graphics/'.$name.'" alt="'.$name.'" style="max-width: 300px;" /><br /><form action="?page=gallery&action=add" method="post">
  18. <input type="hidden" name="graphic_big" value="graphics/'.$name.'" />
  19. Temat: <input type="text" name="title" /><br />
  20. Kategoria <select name="cat"><option value="other">Inne</option>';
  21.  
  22. $query = mysql_query("SELECT * FROM cats ORDER BY col");
  23. while($result = mysql_fetch_assoc($query)){
  24. echo '<option value="'.$result['id'].'">'.$result['nazwa'].'</option>';
  25. }
  26.  
  27. echo '
  28. </select><br />
  29. Opis: <textarea name="opis"></textarea><br />
  30. <input type="submit" name="dodaj" value="Dodaj projekt" />
  31. </form>';
  32. }
  33. }
  34. } else
  35. {
  36. echo '<form action="?page=gallery&action=add" method="post" enctype="multipart/form-data">
  37. Wybierz grafikę do dodania: <input type="file" name="graphic_big"><br />
  38. Wybierz miniaturkę: <input type="file" name="graphic_small"><br />
  39. <input type="submit" name="dodajzdj" value="Dodaj zdjęcie" />
  40. </form>';
  41. }


PS. To jest tylko fragment ale tu jest zawarty skrypt wysyłania wraz z formularzem.
nospor
move_uploaded_file($_FILES['graphic_big']['tmp_name'], '../graphics/'.$name);
move_uploaded_file($_FILES['graphic_small']['tmp_name'], '../graphics/'.$name);

Spojrz gdzie wysyłasz oba pliki....
polkom21
Kurde automatycznie pisałem wszystko później przeglądałem i nic nie znalazłem. Pewnie przez zmęczenie już. Dzięki bardzo za odnalezienie błedziku. A może mi ktoś jeszcze powiedzieć czemu przez str_replace(" ", "", $name); nie usuwa mi białych znaków z nazwy pliku?
nospor
Cytat
A może mi ktoś jeszcze powiedzieć czemu przez str_replace(" ", "", $name); nie usuwa mi białych znaków z nazwy pliku?

1) A odbierasz wynik str_replace?
2) Twoj kod usuwa tylko spacje, a biale znaki to nie tylko spacje
polkom21
no wiem to jeszcze tabulatory itd ale kombinowałem już wszystkiego i nic nie pomaga.
nospor
No to pokaż dokłady kod jak ty się pozbywasz tych bialych znaków. No z fusów go nie wywróże i nie powiem co robisz źle :/
polkom21
No teraz to wywaliłem to wszystko bo nie chodziło. Ale była próba czegoś takiego:
  1. $str = str_replace(' ', '', $str);
  2.  
  3. $string = trim($string);
  4.  
  5. $str = preg_replace('/\s+/', '', $str);
  6.  


i to chyba na tyle z tego co sprawdzałem.
nospor
Raz piszesz $str raz $string... skad mam wiedziec co masz źle w realnym kodzie, skoro teraz pokazujesz kody nie związane z realnym kodem :/
Wstaw to co ci nie dziala w realny kod, powiedz dokładnie co nie dziala to pogadamy.

Same zlepki kodu co tu pokazałeś same w sobie są ok.
polkom21
No dobra mam funkcje w klasie:
  1. public function no_space($str){
  2. $str = str_replace(' ', '', $str);
  3. $str = trim($str);
  4. $str = preg_replace('/\s+/', '', $str);
  5. return $str;
  6. }

po przetworzeniu przez wszystkie zmieniacze plik ma taką nazwę "Bez tytulu"
nospor
facepalmxd.gif

No ale jeszcze pokaż, jak ty tę funkcję wywołujesz...
polkom21
No dobra nie załamuj się. Na tyle potrafię pisać, że wiem jak się wywołuje funkcje w klasie.

  1. $name = $global->no_space($name);
  2. $name_small = $global->no_space($name_small);
nospor
Cytat
Na tyle potrafię pisać, że wiem jak się wywołuje funkcje w klasie.
Och wybacz.... ale moment, czy to nie ty przypadkiem leciałeś na forum z pierdułą, polegającą na zapisiwaniu dwóch różnych plików pod tą samą nazwąquestionmark.gif
Więc się nie dziw, że wolę się upewnić, czy wszystko robisz jak należy.

Pokaż mi proszę cały kod a nie operujesz ciągle na wycinkach... tak się nie da nic zdiagnozować
polkom21
skoro tak tego pragniesz to masz:

  1. if(!isset($_GET['action'])){
  2. if($_GET['method'] == "remove"){
  3. $id = $_GET['id'];
  4. mysql_query("DELETE FROM `gallery` WHERE id=$id");
  5. header("Location: index.php?page=gallery");
  6. } else{
  7. echo '<table border="1"><thead><tr><td>Tytuł</td><td>Opis</td><td>Miniaturka</td><td>Akcja</td></tr></thead><tbody>';
  8. $query = mysql_query("SELECT * FROM `gallery` ORDER BY id DESC");
  9. while ($result = mysql_fetch_assoc($query)) {
  10. echo '<tr><td>'.$result['title'].'</td><td>'.$result['comment'].'</td><td><img style="max-width:100px;" src="../graphics/'.$result['miniimg'].'" alt="'.$result['miniimg'].'" /></td><td><a href="index.php?page=gallery&method=remove&id='.$result['id'].'">Usuń</a></td></tr>';
  11. }
  12. echo '</tbody></table>';
  13. }
  14. } else if($_GET['action'] == "add"){
  15. if(!isset($_POST['dodajzdj']) || !isset($_POST['dodaj']))
  16. {
  17. if(isset($_POST['dodajzdj']))
  18. {
  19. if ($_FILES['graphic_big']['error'] > 0 || $_FILES['graphic_small']['error'] > 0) {
  20. echo 'Wystąpił bład podczas dodawania grafiki.<br />';
  21. header( "refresh:5;url=?page=gallery&action=add" );
  22. } else {
  23. if(file_exists("../graphics/".$_FILES['graphic_big']['name'])){
  24. echo 'Plik "'.$_FILES['graphic_big']['name'].'" już istnieje.';
  25. } else {
  26. $from = array('ą','ż','ź','ć','ę','ń','ó','ł');
  27. $to = array('a','z','z','c','e','n','o','l');
  28. $name = str_replace($from, $to, $_FILES['graphic_big']['name']);
  29. $name = preg_replace('/\s+/', '', $name);
  30. $name_small = str_replace($from, $to, $_FILES['graphic_small']['name']);
  31. $name = $global->no_space($name);
  32. $name_small = $global->no_space($name_small);
  33. move_uploaded_file($_FILES['graphic_big']['tmp_name'], '../graphics/'.$name);
  34. move_uploaded_file($_FILES['graphic_small']['tmp_name'], '../graphics/'.$name_small);
  35. echo 'Grafiki została dodana pomyślnie.<br />';
  36. echo '<img src="../graphics/'.$name_small.'" alt="'.$name_small.'" style="max-width:300px;" /><img src="../graphics/'.$name.'" alt="'.$name.'" style="max-width: 300px;" /><br /><form action="?page=gallery&action=add" method="post">
  37. <input type="hidden" name="graphic_big" value="'.$name.'" />
  38. <input type="hidden" name="graphic_min" value="'.$name_small.'" />
  39. Temat: <input type="text" name="title" /><br />
  40. Kategoria: <select name="cat"><option value="other">Inne</option>';
  41.  
  42. $query = mysql_query("SELECT * FROM cats ORDER BY col");
  43. while($result = mysql_fetch_assoc($query)){
  44. echo '<option value="'.$result['skrot'].'">'.$result['nazwa'].'</option>';
  45. }
  46.  
  47. echo '
  48. </select><br />
  49. Opis: <textarea cols="100" rows="7" name="opis"></textarea><br />
  50. <input type="submit" name="dodaj" value="Dodaj projekt" />
  51. </form>';
  52. }
  53. }
  54. } else if(isset($_POST['dodaj'])){
  55. $title = $_POST['title'];
  56. $cat = $_POST['cat'];
  57. $comment = $_POST['opis'];
  58. $miniimg = $_POST['graphic_min'];
  59. $maximg = $_POST['graphic_big'];
  60. mysql_query("INSERT INTO gallery(title, cat, comment, miniimg, maximg) VALUES ('$title', '$cat', '$comment', '$miniimg', '$maximg') ") or die (mysql_error());
  61.  
  62. echo "Praca została dodana pomyślnie. Teraz nastąpi przekierowanie...";
  63. header("refresh:5;url=index.php?page=gallery");
  64. } else
  65. {
  66. echo '<form action="?page=gallery&action=add" method="post" enctype="multipart/form-data">
  67. Wybierz grafikę do dodania: <input type="file" name="graphic_big"><br />
  68. Wybierz miniaturkę: <input type="file" name="graphic_small"><br />
  69. <input type="submit" name="dodajzdj" value="Dodaj zdjęcie" />
  70. </form>';
  71. }
  72. }
  73. }
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.