Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Odczytywanie z pliku txt linijka po linijce
Forum PHP.pl > Forum > Przedszkole
Raven87
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  4. <title>Upload</title>
  5. </head>
  6. <body>
  7.  
  8. <form enctype="multipart/form-data" action="index.php" method="POST">
  9.  
  10.    </html>Wskaż plik do wysłani:<input name="plik" type="file" />
  11.  
  12.    <input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
  13.  
  14.    Nazwa pliku na serwerz: <input type="text" name="pole2" size="43"><br>  
  15.  
  16.    <input type="submit" value="Wyślij dane" />
  17. </form>
  18. <?php
  19.  
  20. $file = 'baza.txt';
  21. $data = [url="htt://pl2.php.net/file_get_contents"]file_get_contents[/url]( $file );
  22.  
  23. $newText = $_POST['pole2']."\n"  . $data;
  24.  
  25. $o    = [url="htt://pl2.php.net/fopen"]fopen[/url]( $file, "a+" );
  26. $save = [url="htt://pl2.php.net/fwrite"]fwrite[/url](  $o, $newText );
  27. [url="htt://pl2.php.net/fclose"]fclose[/url]( $o );
  28. ?>
  29. <?php
  30.  
  31. $plik_tmp = $_FILES['plik']['tmp_name'];
  32. $plik_nazwa = $_FILES['plik']['name'];
  33. $plik_rozmiar = $_FILES['plik']['size'];
  34.  
  35. if([url="htt://pl2.php.net/is_uploaded_file"]is_uploaded_file[/url]($plik_tmp)) {
  36.     [url="htt://pl2.php.net/move_uploaded_file"]move_uploaded_file[/url]($plik_tmp, "materialy/$plik_nazwa".  [url="htt://pl2.php.net/pathinfo"]pathinfo[/url]($_FILES['abc']['name'], PATHINFO_EXTENSION));
  37.    echo "Pli: <strong>$plik_nazwa</strong> o rozmiarze  
  38.    <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  39. }
  40. ?>
  41. <div align="center">
  42. <table style="border: 2px solid black;" bgcolor="lightgray" cellpadding="8" cellspacing="5">
  43. <tr>
  44. <th width="30" height="5" align="center" valign="middle">Lp.</th>
  45. <th width="180" height="5" align="center" valign="middle">Nazwa pliku</th>
  46. <th width="40" height=1" align="center" valign="middle">Zaznacz</th>
  47. </tr>
  48. <?
  49. $kat = [url="htt://pl2.php.net/dir"]dir[/url](materialy);
  50. $i=1;
  51. while($poz = $kat->[url="htt://pl2.php.net/read"]read[/url]()) {
  52. if ([url="htt://pl2.php.net/preg_match"]preg_match[/url]("/^.+..+$/i", $poz)) {
  53. print '<tr>
  54. <td style="border: 2px solid black;" height="15" align="left" valign="middle">'.$i.'</td>
  55. <td style="border: 2px solid black;" height="15" align="left" valign="middle"> questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif</td>
  56. <td style="border: 2px solid black;" height="15" align="center" valign="middle"><input type="checkbox" name="co[]" value="'.$poz.'"></td>
  57. </tr>';
  58. $i++;
  59. }
  60. }
  61. $kat->[url="htt://pl2.php.net/close"]close[/url]();
  62.  
  63. ?>
  64. </tr>
  65. </table>
  66. <br>
  67. </div>
  68. </body>


Witam, mam nastepujący problem. Jak widac w skrypcie stworzylem częsc ktora odpowiada za zapisywanie danych wprowadzonych z formularzea do pliku txt. Sa to opisy plików które uzytkownik wproadza razem z wysylanym plikiem na serwer, W dalszje czesci jest tabela, dodajemy plik, dodaje sie automatycznie wiersz tabeli, pierwotnie w miejscu questionmark.gifquestionmark.gif? byl link z nazw apliku, ale chciałbym by do tej czesci tabeli wprowadzany byly DO KOLEJNYCH WIERSZY KOLEJNE LINIJKI Z TXT. chodzi o to by opis odpowiadal plikowi co jest oczywiste.
melkorm
robisz explode tego pliku enterami i później foreach'a na otrzymaną tablice wykonując zapytania.

Nie wiem czy właśnie o to Tobei hcodzi smile.gif
Raven87
Myslałem nad tym sposobem ale mam w zwiazku z tym mam pytania:
pytanie 1:

Czy za pomoca foreach bede mogl te wiersze/rekordy z pliku txt wsadzic do kolejnych pol tabeli? Czy bede po porstu mogl w funkcji tej petli zawrzec tworzenie komorek tabeli? by każdy wyswietlal sie w osobnej komórce?

pytanie 2 (alternatywa)

  1. <?php
  2. $plk      = file('baza.txt');
  3. $tmpcount = count($plk);
  4. for ($i = 0; $i < $tmpcount; $i++) {
  5.    echo $i;
  6.    echo ' ';
  7.    echo trim($plk[$i]);
  8.    echo '<br />';
  9.    echo "\n";
  10. ?>


mam tkaie oto skrypckik, bardzo ładnie mi wyswietla kolejne wiersze baza.txt jeden pod drugim. Wszystko byloby tak jak chce tlyko jak zrobic by ten skrypt wykonywal to samo tylko wyswietlal kolejne wiersze pliku w kolumnie komórek??

Bardzo prosze o odpowiedź, strasznie dlugo się juz z tym męcze.
WojtasSP320
To powinno działać:

  1. <?php
  2. $plik = file(twoj_plik.txt);
  3.  
  4. for ($i=0;$i<count($plik);i++)
  5. {
  6. echo '<tr>'."\n";
  7. echo '<td style="border: 2px solid black;" height="15" align="left" valign="middle">'.$i.'</td>'."\n";
  8. echo '<td style="border: 2px solid black;" height="15" align="left" valign="middle">'.$plik[$i].'</td>'."\n";
  9. echo '<td style="border: 2px solid black;" height="15" align="center" valign="middle">';
  10. echo '<input type="checkbox" name="co[]" value="'.$poz.'"></td>'."\n";
  11. echo '</tr>'."\n";
  12. }
  13. ?>


Tylko muszisz pokombinować z tym $poz'em...
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.