ďťż
Podstrony
|
telcocafemam oto taki plik index.php<?PHP function addfoto($what, $album) { if(is_uploaded_file($what['userfile']['tmp_name'])) { if(move_uploaded_file($what['userfile']['tmp_name'], './albums/'.$album.'/'.$what['userfile']['name' ])) return 0; else return 600; } else return 601; } if($_GET['mode'] == 'yes') { echo(addfoto($_FILES, 'asdf')); } else { echo('Nie wybrano pliku.'); } ?> <form enctype="multipart/form-data" action="index.php?mode=yes" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Plik do wysłania: <input name="userfile" type="file" /> <input type="submit" value="Wyślij" /> </form> i ciągle funkcja zwraca mi 601 :/ ... pojęcia nie mam dlaczego ... czyżbym źle przesyłał do funkcji tablice $_FILES ? ... pewnie rozwiązanie problemu jest banalne ale ja nie wiem czemu to nie działa :/. Pomóżcie. czyżbym źle przesyłał do funkcji tablice $_FILES podejrzewam, że po przepisaniu tablicy superglobalnej $_FILES do Twojej funkcji, zatraca ona swoje "magiczne" zdolności. Dlatego może spróbuj tak: <?php if($_GET['mode'] == 'yes') { if(is_uploaded_file($_FILES['userfile']['tmp_name'])) { if(move_uploaded_file($_FILES['userfile']['tmp_name'], './albums/'.$album.'/'.$_FILES['userfile']['name' ])) echo 'OK'; else echo 'Błąd'; } else echo 'Błąd'; } else { echo('Nie wybrano pliku.'); } ?> <form enctype="multipart/form-data" action="index.php?mode=yes" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Plik do wysłania: <input name="userfile" type="file" /> <input type="submit" value="Wyślij" /> </form> Użytkownik kutar edytował ten post 01 sierpień 2007, 22:41 tak to ja umiem ... cały bajer w tym żeby funkcją to zrobić :P ... hmmmm... dziwne, bo sprawdziłem u siebie i kod jak najbardziej działa prawidłowo... plik się zapisuje, funkcja zwraca 0 (na PHP5) funkcja move_uploaded_file powinna dostać dwa stringi. Sproboj te dwa wyrazenia co tam masz, wziac w " " , mialem ten sam problem i to rozwiązanie poskutkowało :) Pozdro! Użytkownik kowalski.jasio edytował ten post 01 sierpień 2007, 23:40 funkcja move_uploaded_file powinna dostać dwa stringi Problem jest w tym że zmienna $what['userfile']['tmp_name'] jest pusta. Tablica jest przesyłana prawidłowo, natomiast $_FILES['userfile']['error'] ma wartość 2, czyli problem nie ze skryptem a z parserem PHP. Co to jest za błąd ?! Pierwszy raz się z nim spotkałem. A do manuala to się nie chce zajrzeć? Błąd polega na tym,że wysyłasz zbyt duży plik :D Ot cały problem . . . <_< no ale to się ustawia w php.ini i mam ustawione na 2 M a plik ma 170 KB :P ... więc to jednak nie o to chodzi. O to,o to tylko kod błędu drugiego odnosi się do maksymalnej wielkości pliku określonej w formularzu. Jest to pole MAX_FILE_SIZE :) |
|||
Sitedesign by AltusUmbrae. |