![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Istota skryptu polega na tym ze mam do łączenia sporą ilość plików tekstowych w jedną całość. Powiedzmy mam plik koloroczu.txt, plik kolorwlosow.txt, plik imie.txt, plik nazwisko.txt. Chcialbym napisac skrypt ktory wczytuje zawartosc tych plikow z pol typu file i wyswietla mi na ekranie badz zapisuje zawartość tych plików jedno pod drugim do jednego pliku (w tym przypadku osoba.txt). Niestety nie wiem jak wyswietlic po przeladowaniu sie strony przez przycisk submit zawartosc wczytanych plikow. próbowałem tak: Kod <?php if (fopen($_FILES['userfile']['tmp_name'], 'r')) { echo $_FILES['userfile']; } else { echo 'Nie udało się'; } echo ' <form enctype="multipart/form-data" action="" 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> '; ?> Niestety zamiast zawartosci tego pliku wyswietla mi sie "Array" ![]() Ten post edytował reyne 8.08.2008, 18:55:23 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
jak juz słusznie zauważyłeś ($_FILES['userfile']['tmp_name']) jest tablicą tablic,
zrób sobie zamiast echo print_r($_FILES) to sobie zobaczysz o co chodzi -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php if(isset($_POST['send'])) { $file = $_FILES['userfile']['tmp_name']; $uchwyt = fopen($file, 'r'); $tresc = fread($uchwyt, filesize($file)); echo "<br><br>".$tresc.""; } echo ' <form enctype="multipart/form-data" action="" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Plik do wysłania: <input name="userfile" type="file" /><br> <input type="submit" value="Wyślij" name="send" /> </form> '; ?> dzięki za wskazówkę ![]() Kod działa poza jednym wyjątkiem.. jak zrobić żeby rozróżniał nowe linijki w tekście? No i tekst jest w innym formacie, nie ma polskich znaków tylko ogonki, jak go przekonwertować "w locie"? Pliki są w normalnym pliku tekstowym z Notatnika. Ten post edytował reyne 8.08.2008, 21:34:22 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
parser rozróżnia nowe linijki w tekście, tylko, że są one \n || \r\n, jak chcesz wyswietlic na stronie biorac pod uwage nowe linie, to zrób cos takiego:
Co do kodowania, to koduj plik UTF-8 bez BOM, zadeklaruj w przegladarce UTF-8 w sekcji DOCTYPE i zapoznaj się z funkcja iconv" title="Zobacz w manualu PHP" target="_manual i pochodnymi -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
próbowałem funkcji iconv ale niestety ucina ona tekst przy pierwszej polskiej literze (tekst jest pobierany tylko do tego momentu)
oto cały kod: Kod <?php
if(isset($_POST['send'])) { $file = $_FILES['userfile']['tmp_name']; $uchwyt = fopen($file, 'r'); $msg = fread($uchwyt, filesize($file)); $tresc = iconv('utf-8','iso-8859-2',$msg); echo "<br><br>".nl2br($tresc); } echo ' <form enctype="multipart/form-data" action="" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Plik do wysłania: <input name="userfile" type="file" /><br> <input type="submit" value="Wyślij" name="send" /> </form> '; ?> |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
reyne, ale najlepiej zastosowac kodowanie UTF-8
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
rozwiązanie:
dodałem na początku pliku standard kodowania notatnika i śmiga Kod echo ' <meta http-equiv="content-type" content="text/html; charset=windows-1250" />'; dzięki za pomoc! ![]() Ten post edytował reyne 8.08.2008, 22:03:37 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
ale UTF-8 obsługuje polskie litery!
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 1 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
niestety mam jeszcze jeden mały problem, gdy zrobiłem uploadowanie kilku plików naraz w ten sposób:
Kod <?php echo ' <meta http-equiv="content-type" content="text/html; charset=windows-1250" />'; if(isset($_POST['send'])) { $uchwyt = fopen($_FILES['userfile']['tmp_name'], 'r'); $uchwyt2 = fopen($_FILES['userfile2']['tmp_name'], 'r'); $uchwyt3 = fopen($_FILES['userfile3']['tmp_name'], 'r'); $uchwyt4 = fopen($_FILES['userfile4']['tmp_name'], 'r'); $uchwyt5 = fopen($_FILES['userfile5']['tmp_name'], 'r'); $uchwyt6 = fopen($_FILES['userfile6']['tmp_name'], 'r'); $uchwyt7 = fopen($_FILES['userfile7']['tmp_name'], 'r'); $uchwyt8 = fopen($_FILES['userfile8']['tmp_name'], 'r'); $uchwyt9 = fopen($_FILES['userfile9']['tmp_name'], 'r'); $msg .= fread($uchwyt, filesize($_FILES['userfile']['tmp_name'])); $msg .= fread($uchwyt2, filesize($_FILES['userfile2']['tmp_name'])); $msg .= fread($uchwyt3, filesize($_FILES['userfile3']['tmp_name'])); $msg .= fread($uchwyt4, filesize($_FILES['userfile4']['tmp_name'])); $msg .= fread($uchwyt5, filesize($_FILES['userfile5']['tmp_name'])); $msg .= fread($uchwyt6, filesize($_FILES['userfile6']['tmp_name'])); $msg .= fread($uchwyt7, filesize($_FILES['userfile7']['tmp_name'])); $msg .= fread($uchwyt8, filesize($_FILES['userfile8']['tmp_name'])); $msg .= fread($uchwyt9, filesize($_FILES['userfile9']['tmp_name'])); echo "<br><br>".nl2br($msg); }else { echo ' <form enctype="multipart/form-data" action="" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Pliki do wysłania: <br> <input name="userfile" type="file" /><br> <input name="userfile2" type="file" /><br> <input name="userfile3" type="file" /><br> <input name="userfile4" type="file" /><br> <input name="userfile5" type="file" /><br> <input name="userfile6" type="file" /><br> <input name="userfile7" type="file" /><br> <input name="userfile8" type="file" /><br> <input name="userfile9" type="file" /><br> <input type="submit" value="Wyślij" name="send" /> </form> '; } ?> pliki są wgrywane poprawnie jeden pod drugim, więc dlaczego na górze wyskakują mi błędy: Kod [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/localhost/httpdocs/file.php[/b] on line [b]19[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]20[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]21[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]22[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]23[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]24[/b] [b]Warning[/b]: fread(): supplied argument is not a valid stream resource in [b]/srv/www/vhosts/[/b][b]localhost[/b][b]/httpdocs/file.php[/b] on line [b]25[/b] skrypt działa ale te błędy.. ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
sprobuj zamiast:
czegos takiego:
Znacznie skraca kod i może będzie bez bledow ![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:30 |