Skrypt nie rozpoznaje typu pliku i przez to nie można go zapisać na serwerze.
Kod js: Wysyłanie danych z formularza z AJAX
Kod formularza do wysyłania pllików:
<!doctype html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> </head> <body> <form action="utworz.php" name="tworzKat" onsubmit="xmlhttpPost('utworz.php', 'tworzKat', 'wyswietlPliki', '<img src=\'pleasewait.gif\'>'); return false;"> <div id="form1"> <input type="text" name="inputNazwaKat" size="20" maxlenght="10" /> <input type="submit" value="Utwórz" /> </form> <form enctype="multipart/form-data" name="plik" action="wyslij.php" onsubmit="xmlhttpPost('wyslij.php', 'plik', 'wyswietlPliki', '<img src=\'pleasewait.gif\'>'); return false;"> <div> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <input type="submit" id="wyslij" value="Wyślij" tabindex="4" /> </div> </form> <div id="wyswietlPliki" style="background:#ccc; width:600px; height:300px; padding-top:30px; margin-top:20px; padding-left:10px;"> </div> <!--FOOTER--> </body> </html>
oraz plik wyslij.php
<!doctype html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <TITLE>Wysyłanie...</TITLE> </HEAD> <BODY> <h3>Wysyłanie plików na serwer...</h3> <?php // sprawdzam, wartość pola hidden - maksymalny rozmiar pliku $size = $_POST['MAX_FILE_SIZE']; //sprawdzam czy przy wysylaniu nie ma błędów if ((($_FILES["plikuzytkownika"]["type"] == "image/jpeg") || ($_FILES["plikuzytkownika"]["type"] == "image/pjpeg") || ($_FILES["plikuzytkownika"]["type"] == "image/gif") || ($_FILES["plikuzytkownika"]["type"] == "image/x-png") || ($_FILES["plikuzytkownika"]["type"] == "image/png") ) && ($_FILES['plikuzytkownika']['size'] < $size)) { if($_FILES['plikuzytkownika']['error']>0) { // jeśli pojawił się problem przy przesyłaniu danych to wyświetla komunikat switch ($_FILES['plikuzytkownika']['error']) { } exit; } // jeśli nie było problemów, sprawdzamy, czy przypadkiem plik już nie istnieje $target = './obrazkiWyslane/'; $plik = $target . $_FILES['plikuzytkownika']['name']; // jesli plik już istnieje to wyświetl komunikat, jeśli nie to przenieś { echo $_FILES["plikuzytkownika"]["name"] . " już istnieje. <br /><a href=\"".$_SERVER["HTTP_REFERER"]."\">Powrót</a>"; } // jeśli plik nie istnieje to dalej.... else { { { exit; } } else { exit; } } } else { } ?> </BODY> </HTML>
Poza tym, tekst wyświetla mi się bez polskich znaków...Próbowałam już zmieniać kodowanie na utf-8 ale nic to nie daje. Czy ktoś wie, o co może chodzić?
Poprzez polecenie
postanowiłam sprawdzić, jaki wynik zwraca mi skrypt no i okazuje sie, ze jest to pierwsza litera z nazwy pliku.