Cześć!
Chcę zrobić tak żeby w polu tekstowym pokazywał się dany plik np. KOD.txt i w tym polu można było edytować ten plik np.
W polu tekstowym jest liczba 23.
Kasuję ją i robię liczbę 24.
Naciskam OK.
To SKRYPT zmienia w pliku KOD.txt z 23 na liczbę 24.
Jak to zrobić?
kutar
(Kutar 0)
1 Kwiecień 2007 16:00
#2
No w czym problem? Na jakim poziomie znasz PHP, bo chyba w zerowym. Taki kod znajdziesz w każdym kursie PHP na jednej z pierwszych “lekcji”.
Otwierasz plik funkcją fopen() , czytasz zawartość fread();
zamykasz fclose()
A po zapisaniu otwierasz ponownie i zapisujesz fwrite();
I cała filozofia . W międzyczasie fclose(), który zabezpieczy dostęp do pliku przed innymi skryptami.
W razie pytań odsyłam do manuala.
Nook
(Skr3czu)
1 Kwiecień 2007 16:37
#4
crew1
(L337 Crew)
1 Kwiecień 2007 17:16
#5
Fiolek
(Fiołek)
1 Kwiecień 2007 18:26
#6
Możesz też zrobić funkcją file_get_contents() i file_put_contents(). Ale to tylko kilka linijek kodu mniej… Ale no żeby nie wiedzieć jak takie coś się robi(szczególnie jak już się zna PHP) to karygodne…
<? // wczytanie starych danych // otwarcie pliku do odczytu $fp = fopen(“plik.txt”, “r”); //odczytanie danych $stareDane = fread($fp, filesize(“plik.txt”)); // zamknięcie pliku fclose($fp) // stworzenie nowych danych $noweDane = “$_GET[‘byncode’]”; $noweDane .= $stareDane; // zapisanie nowych danych // otwarcie pliku do zapisu $fp = fopen(“plik.txt”, “w”); // zapisanie danych fputs($fp, $noweDane); // zamknięcie pliku fclose($fp); ?> Licznik BynCode:
Zrobiłem to,ale mi nie działa
Blasciq
(Blasciq)
3 Kwiecień 2007 18:07
#8
A gdzie jest średnik ?
EDIT//
Nie potrzebnie objełeś w cudzysłów:
Jeśli usuniesz te dwa błędy będzie działać Pozdrawiam
kutar
(Kutar 0)
3 Kwiecień 2007 19:14
#9
To znaczy jaki komunikat o błędzie się wyświetla??
href
(Href)
4 Kwiecień 2007 09:16
#10
Blasciq, gadasz glupoty bo z tym cudzyslowem to poprawny zapis…
kutar
(Kutar 0)
4 Kwiecień 2007 11:07
#11
Bez cudzysłowa też. Nawet bardziej optymalny;]
Blasciq
(Blasciq)
4 Kwiecień 2007 11:11
#12
Może to i poprawny zapis ale z
$noweDane = "$_GET['byncode']";
wywala błąd:
a bez
$noweDane = $_GET['byncode'];
jest już dobrze…
Pozdrawiam (:
href
(Href)
4 Kwiecień 2007 17:13
#13
$noweDane ="$_GET['byncode']";
tak powinno byc ok ; ) mozna z cudzyslowami, mozna bez
kubar3k
(Kubarek)
4 Kwiecień 2007 18:50
#14
href: Blasciq przecież napisał, że jak użyje kodu, który podałeś, to mu wywali błąd -> czyli w tym przypadku nie można używać cudzysłowów w kodzie dałbym jeszcze warunek, czy dane z formularza zostały przesłane do serwera
<?php
if (@$_GET['OK']){
// wczytanie starych danych, etc, etc
// (...)
}
?>
href
(Href)
4 Kwiecień 2007 19:45
#15
Blasciq przecież napisał, że jak użyje kodu, który podałeś, to mu wywali błąd -> czyli w tym przypadku nie można używać cudzysłowów
przeczytaj tresc bledu ; )
kubar3k
(Kubarek)
4 Kwiecień 2007 22:43
#16
to nie ma nic wspólnego z błędem
twój kod, który podałeś, jest identyczny ( dla parsera php ) z tym, co go początkowo miał Blasciq
zobacz:
$noweDane ="$_GET['byncode']";
i
$noweDane = "$_GET['byncode']";
i
"$nazwa
=
$_GET['a']";
te trzy kody są jednakowe
więc błąd, mówiący, że napotkano biały znak, nie ma tu nic do rzeczy
winne są zatem cudzysłowy
jak je usuniesz z linii powyżej, wszystko będzie śmigało jak należy
Usunołem je, ale dalej nie działa
<? // wczytanie starych danych // otwarcie pliku do odczytu $fp = fopen(“plik.txt”, “r”); //odczytanie danych $stareDane = fread($fp, filesize(“plik.txt”)); // zamknięcie pliku fclose($fp) // stworzenie nowych danych $noweDane = $_GET[‘byncode’]; $noweDane .= $stareDane; // zapisanie nowych danych // otwarcie pliku do zapisu $fp = fopen(“plik.txt”, “w”); // zapisanie danych fputs($fp, $noweDane); // zamknięcie pliku fclose($fp); ?> Licznik BynCode:
Złączono Posta : 05.04.2007 (Czw) 13:02
Acha, jak zrobić żeby w polu textowym wyświetlał się odczyt danych (liczby) z pliku, i w polu tekstowym jak zmienię (liczbę) to zapisze się to.
Są jeszcze błędy!
Między innymi
1.Jak wejdę na stronkę z licznikiem i nie zmienie nic w nim to się kasuje cały plik.
2.Jeśli nic nie mam w pliku to wywala mi błąd.