Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wczytaniem pliku
Forum PHP.pl > Forum > PHP
plont
Witam

Jestem w trakcie robienia formularza i z jedna rzecza nie umie sobie poradzic, ale opisze od poczatku jak to wyglada


formularz zapisuje dane do pliku i nadaje mu nazwę odpowiadającą numerowi w tym pliku, czyli kazdy formularz jest w oddzielnym pliku. Oczywiście automatycznie się to numeruje po otwarciu nowego formularza.

Jest również możliwość przeglądania zawartości folderu .

wiem jak wczytac plik do tablicy wiem jak wczytac poszczegolne linie do odpowiednich komorek formularza, tylko problem jest w tym, że chce wybrać plik 68 i dane z tego pliku maja sie wczytac do formularza

a po wybraniu pliku 5 dane z niego wczytuja sie do formularza


Jak wczytac plik ktory wlasnie otwieram?


Nie wiem czy cos rozumiecie ale jesli tak to prosze o pomoc



  1. <?
  2. $tablica = file( "lista_zlecen/1.php" );
  3. for ($i=0; $i<count($tablica); $i++)
  4. {;
  5. echo "Linijka $i: ".$tablica[$i]."<br>";
  6. } ;
  7. ?>


Wczytywanie pliku do tablicy chce aby zamiast "lista_zlecen/1.php" byl plik w ktory wlasnie kliknolem, bez konkretnej nazwy bo to sie oczywiscie bedzie zmieniac przy kazdym wyborze
krowal
  1. <a href="skrypt_optwierajacy.php?file_id=68">plik_68</a>


  1. <?
  2. $tablica = file( "lista_zlecen/{$_GET['file_id']}.php" );
  3. for ($i=0; $i<count($tablica); $i++)
  4. {;
  5. echo "Linijka $i: ".$tablica[$i]."<br>";
  6. } ;
  7. ?>


Pomijam już kwestie bezpieczeństwa żeby nie mieszać Ci w głowie więc proszę bez głupich komentarzy winksmiley.jpg
bim2
Lepiej będzie
  1. foreach($tablica as $i => $v)
  2. {
  3. echo "Linijka $i: ".$v."<br>";
  4. }

A jak już uprzecie się na for() to count wrzućcie do zmiennej, bo tak za każdą iteracją od nowa używa funkcji count...
plont
wytłumaczcie mi to łopatologicznie bo męczę sięnad tym już jakiś czas i nadal nie kumam smile.gif

  1. <?php // to wyswietla mi liste plikow w folderze
  2. $folder = dir("lista_zlecen");
  3.  
  4. echo '<ul>';
  5. while($plik = $folder->read())
  6. {
  7. echo '<li><a href="nr.php?lista_zlecen/$plik">' .$plik. '</a></li>'; //nr.php - funkcja odpowiedzialna za autonumerowanie, otwiera mi plik w formularzu zlecenia tylko niestety pusty :(
  8.  
  9. }
  10. echo '</ul>';
  11. ?>
  12.  
  13. <?
  14. //wczytuje mi plik do tablicy - jak zamiast {$_GET['$plik']}.txt dam nazwe np. 1.txt to jest ok a w takiej formie nie dziala
  15. //funkcje wczytujaca linijki pliku do tablicy mam.
  16. $tablica = file( "lista_zlecen/{$_GET['$plik']}.txt" ); //chce aby mi wyswietlalo plik ktory klikne (funkja otwierajaca plik)
  17.  
  18. for ($i=0; $i<count($tablica); $i++)
  19.  
  20. {;
  21.  
  22. echo "Linijka $i: ".$tablica[$i]."<br>";
  23.  
  24. } ;
  25.  
  26. ?>


funkcja numerująca

  1. <?php
  2. $fp=fopen("nr.txt","r");
  3. $dane=fread($fp,2000);
  4. $dane++;
  5. fclose($fp);
  6. $fp=fopen("nr.txt","w");
  7. fwrite($fp,$dane);
  8. fclose($fp);
  9. echo "<script language=javascript>window.location='zlecenie.php'</SCRIPT>";
  10. ?>


Formularza nie będę zamieszczał bo to ponad 500 lini

tak to wygląda, wiem że może nie jest to optymalne i za bardzo rozwalone ale blokuje mi to postępy w dalszej pracy :/

optymalizacja bezpieczeństwo będzie potem .


jak przenieść dany plik w formularz questionmark.gif

funkcja wczytująca dane [plik->tablica->komórka formularza] wygląda tak

  1. <?php echo "".$tablica[2].""; ?>


znajduje sie to w oknie formularza jako wartość wypełniająca

gdzie liczba 2 odpowiada za konkretną linie na razie takie rozwiązanie na piechotę mi wystarczy.

krowal
Hehe, czy ty w ogóle rozumiesz to co piszesz ? smile.gif sprawdź sobie co zawiera tablica $_GET[] po kliknięciu na plik, później sprawdź, który plik chcesz otworzyć za pomocą file() i zobacz czy taki plik istnieje... btw co tu robi ten slash 'nr.php?lista_zlecen/$plik' ?

- zobacz jakie zmienne mają przypisane linki każdego pliku
- sprawdź co zawiera $_GET[] po kliknięciu na taki link (print_r($_GET)winksmiley.jpg
- sprawdź jaki plik próbuje Ci otworzyć po kliknięciu na link

więcej nic nie powiem, to są podstawy podstaw podstaw, najlepiej zacznij od jakiegoś tutoriala.
bim2
Po co dwuktornie otwierasz plik nr.txt? Rozumiem że ma to być numeracja?
Prościej będzie
  1. $file = 'nr.txt';
  2. file_put_contents($file, @file_get_contents($file)+1);

smile.gif
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.