Edycja Plików .TXT za pomoca przeglądarki
Edycja Plików .TXT za pomoca przeglądarki
[php]<?php
<?php
$katalog = opendir("./");
while ($plik = strtolower(readdir($katalog))) {
if ($plik<>"." && $plik<>".." && $plik<>"edytuj.php" ) $lista[]=$plik;
}
closedir($katalog);
if (count($lista)>0) {
echo "Wybierz plik do edycj:";
sort($lista);
}
for ($i=0;$i<count($lista);$i++) {
echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"edytuj.php?edycja=$lista[$i]\">Edytuj plik</a>";
}
// zmiana zawartosci pliku
$edycja = $_REQUEST["edycja"];
if (isset($_POST["tekst"]) && file_exists($edycja)) {
$f = fopen($edycja, "w");
fputs($f, stripslashes($_POST["tekst"]));
fclose($f);
}
// umieszczenie pliku w formularzu
if ($edycja<>"" && file_exists($edycja)) {
echo "<p> </p>Edycja plik: <b>$edycja</b>";
echo '<form action="edytuj.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
$f = fopen($edycja,"r");
while(!feof($f)) echo fread($f,1024);
fclose($f);
echo '</textarea><input type="submit" value="Zapisz" /></form>';
}
?>
?>[/php]
Ktoś może wytłumaczyć dlaczego na serwerze nie działa a na kompie wszystko ok.??
<?php
$katalog = opendir("./");
while ($plik = strtolower(readdir($katalog))) {
if ($plik<>"." && $plik<>".." && $plik<>"edytuj.php" ) $lista[]=$plik;
}
closedir($katalog);
if (count($lista)>0) {
echo "Wybierz plik do edycj:";
sort($lista);
}
for ($i=0;$i<count($lista);$i++) {
echo "<br />Edytuj plik <b>$lista[$i]</b> <a href=\"edytuj.php?edycja=$lista[$i]\">Edytuj plik</a>";
}
// zmiana zawartosci pliku
$edycja = $_REQUEST["edycja"];
if (isset($_POST["tekst"]) && file_exists($edycja)) {
$f = fopen($edycja, "w");
fputs($f, stripslashes($_POST["tekst"]));
fclose($f);
}
// umieszczenie pliku w formularzu
if ($edycja<>"" && file_exists($edycja)) {
echo "<p> </p>Edycja plik: <b>$edycja</b>";
echo '<form action="edytuj.php" method="post"><input type="hidden" name="edycja" value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
$f = fopen($edycja,"r");
while(!feof($f)) echo fread($f,1024);
fclose($f);
echo '</textarea><input type="submit" value="Zapisz" /></form>';
}
?>
?>[/php]
Ktoś może wytłumaczyć dlaczego na serwerze nie działa a na kompie wszystko ok.??
Re: Edycja Plików .TXT za pomoca przeglądarki
Dzięki gorylek
a dało by sie jeszcze wykombinować aby wyświetlało same pliki .txt
???
???
ps. znasz może bezpieczne logowanie aby móc edytować pliki.
Pozdrawiam i dziękuje
a dało by sie jeszcze wykombinować aby wyświetlało same pliki .txt
???
ps. znasz może bezpieczne logowanie aby móc edytować pliki.
Pozdrawiam i dziękuje
Re: Edycja Plików .TXT za pomoca przeglądarki
Co rozumiesz przez pliki txt ? Przecież pod Linuksem rozszerzenie pliku tekstowego nie ma znaczenia. Może go nie być, może mieć rozszerzenie "kupa" albo cokolwiek innego a i tak problemu nie będzie.
Co do skryptu logowania:
http://lmgtfy.com/?q=PHP+skrypt+logowania
Poza tym:
1. Co właściwie chcesz osiągnąć ?
2. Jeżeli chcesz to co ja myślę to nie wygodniej jest użyć bazę danych ?
Co do skryptu logowania:
http://lmgtfy.com/?q=PHP+skrypt+logowania
Poza tym:
1. Co właściwie chcesz osiągnąć ?
2. Jeżeli chcesz to co ja myślę to nie wygodniej jest użyć bazę danych ?
-
ooo_michal
- Przelotem

- Posty: 245
- Rejestracja: śr kwie 18, 2007 9:06 am
Re: Edycja Plików .TXT za pomoca przeglądarki
Pod Windą w zasadzie też to nie ma znaczenia. Jeżeli koniecznie Ci jest to potrzebne to możesz np. sprawdzić czy w nazwie pliku jest na końcu ciąg '.txt'. Poszukaj w funkcjach operujących na ciągach. Chyba jest w php funkcja do sprawdzania rozszerzenia pliku ale niestety jej nie pamiętam. Jak sobie przypomnę to podam.
Re: Edycja Plików .TXT za pomoca przeglądarki
Co do rozszerzenia to chodzi mi tylko o pliki .txt(tylko takie muszą być widoczne)
Dlaczego ? zmieniam treść pliku np. test.txt i we flsshu tekst się zmienił
Co do logowania szukałem dużo ale czy są bezpieczne to każdy się kłóci, a więc proszę o podanie bezpiecznego skryptu logowania umożliwiający przejście do pliku edytuj.php tylko i wyłącznie po za logowaniu określonymi prze zemnie wcześniej haśle i nazwie użytkownika
Dlaczego ? zmieniam treść pliku np. test.txt i we flsshu tekst się zmienił
Co do logowania szukałem dużo ale czy są bezpieczne to każdy się kłóci, a więc proszę o podanie bezpiecznego skryptu logowania umożliwiający przejście do pliku edytuj.php tylko i wyłącznie po za logowaniu określonymi prze zemnie wcześniej haśle i nazwie użytkownika
-
ooo_michal
- Przelotem

- Posty: 245
- Rejestracja: śr kwie 18, 2007 9:06 am
Re: Edycja Plików .TXT za pomoca przeglądarki
Kilka godzin temu robiłem na własne potrzeby skrypt logowania ale tylko na hasło, bez nazwy użytkownika. Podaję kod:
admin.php[php]<?php
define('UTWORZYL', 'Michał Bytner');
$password = '7c8ce8d6b6cea13e25381b0c9679907e'; #hasło potraktowane funkcją md5
$formularz = 'login_form.php'; #plik zawierający formularz logowania
$panel = 'panel_admina.php'; #plik zawierający panel administracyjny
$msg['green'] = 'Wpisz hasło administratora';
$msg['red'] = null;
if (isset($_GET['p']) && $_GET['p'] == 'logout'){
$msg['green'] = 'Aby zarządzać katalogiem wpisz hasło administratora';
setcookie('password', null, time() - 3600);
include($formularz);
die();
} elseif (isset($_COOKIE['password']) && $_COOKIE['password'] == $password){
include('panel_admina.php');
die();
} else {
if (isset($_POST['password'])){
if (md5($_POST['password']) == $password){
setcookie('password', md5($_POST['password']), 0);
include('panel_admina.php');
die();
} else {
$msg['green'] = null;
$msg['red'] = 'Podałeś złe hasło';
include($formularz);
die();
}
} else {
include($formularz);
die();
}
}
?>[/php]
login_form.php[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?><!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="application/xhtml+xml; charset=utf-8" />
<title>Zaloguj do panelu administracyjnego</title>
</head>
<body>
<div style="width: 500px; margin: 0px auto; background-color: #eeeeee">
<div style="background-color: #9dceff; text-align: center;">Zaloguj do panelu administracyjnego</div><br />
<form action="admin.php" method="POST">
<input type="hidden" name="mod" value="admin" />
<div style="background-color: #ff0000; color: #ffffff;"><?php if(isset($msg['red'])) echo $msg['red']; ?></div>
<div style="background-color: #008000; color: #ffffff;"><?php if(isset($msg['green'])) echo $msg['green']; ?></div><br />
<div>
<div style="text-align: center;">Hasło: <input type="password" name="password" /></div>
</div><br />
<div style="text-align: center;"><input type="submit" value="Loguj" /></div>
</form><br />
</div>
</body>
</html>[/php]
panel_admina.php[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?>
<a href="admin.php?p=logout" title="Wyloguj">Wyloguj</a>
Tu wstawiasz całą zawartość panelu administracyjnego (cały kod swojego pliku edytuj.php, zmieniasz też w nim wszystkie wystąpienia edytuj.php na admin.php
[/php]
Może Ci się przyda. Dopisannie sprawdzania nazwy użytkownika nie stanowi problemu. Co do bezpieczeństwa to myślę, że jest spoko. W razie znalezienia problemów proszę o komentarze. Będę poprawiał.
admin.php[php]<?php
define('UTWORZYL', 'Michał Bytner');
$password = '7c8ce8d6b6cea13e25381b0c9679907e'; #hasło potraktowane funkcją md5
$formularz = 'login_form.php'; #plik zawierający formularz logowania
$panel = 'panel_admina.php'; #plik zawierający panel administracyjny
$msg['green'] = 'Wpisz hasło administratora';
$msg['red'] = null;
if (isset($_GET['p']) && $_GET['p'] == 'logout'){
$msg['green'] = 'Aby zarządzać katalogiem wpisz hasło administratora';
setcookie('password', null, time() - 3600);
include($formularz);
die();
} elseif (isset($_COOKIE['password']) && $_COOKIE['password'] == $password){
include('panel_admina.php');
die();
} else {
if (isset($_POST['password'])){
if (md5($_POST['password']) == $password){
setcookie('password', md5($_POST['password']), 0);
include('panel_admina.php');
die();
} else {
$msg['green'] = null;
$msg['red'] = 'Podałeś złe hasło';
include($formularz);
die();
}
} else {
include($formularz);
die();
}
}
?>[/php]
login_form.php[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?><!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="application/xhtml+xml; charset=utf-8" />
<title>Zaloguj do panelu administracyjnego</title>
</head>
<body>
<div style="width: 500px; margin: 0px auto; background-color: #eeeeee">
<div style="background-color: #9dceff; text-align: center;">Zaloguj do panelu administracyjnego</div><br />
<form action="admin.php" method="POST">
<input type="hidden" name="mod" value="admin" />
<div style="background-color: #ff0000; color: #ffffff;"><?php if(isset($msg['red'])) echo $msg['red']; ?></div>
<div style="background-color: #008000; color: #ffffff;"><?php if(isset($msg['green'])) echo $msg['green']; ?></div><br />
<div>
<div style="text-align: center;">Hasło: <input type="password" name="password" /></div>
</div><br />
<div style="text-align: center;"><input type="submit" value="Loguj" /></div>
</form><br />
</div>
</body>
</html>[/php]
panel_admina.php[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?>
<a href="admin.php?p=logout" title="Wyloguj">Wyloguj</a>
Tu wstawiasz całą zawartość panelu administracyjnego (cały kod swojego pliku edytuj.php, zmieniasz też w nim wszystkie wystąpienia edytuj.php na admin.php
[/php]
Może Ci się przyda. Dopisannie sprawdzania nazwy użytkownika nie stanowi problemu. Co do bezpieczeństwa to myślę, że jest spoko. W razie znalezienia problemów proszę o komentarze. Będę poprawiał.
Re: Edycja Plików .TXT za pomoca przeglądarki
Tylko że mając prosty plik tekstowy bez rozszerzenia, winda nie wie czym go potraktować.
A co do samego rozszerzenia to w czym problem ?
albo jakoś tak to szło.
A co do samego rozszerzenia to w czym problem ?
Kod: Zaznacz cały
if(substr($plik,-4)=='.txt') echo 'txt jak się patrzy';Re: Edycja Plików .TXT za pomoca przeglądarki
Mam mały problem.
Gdy dodaje kod pliku edytuj.php do panel_admina.php
NI nie wyświetla
Gdy dodaje kod pliku edytuj.php do panel_admina.php
NI nie wyświetla
-
ooo_michal
- Przelotem

- Posty: 245
- Rejestracja: śr kwie 18, 2007 9:06 am
Re: Edycja Plików .TXT za pomoca przeglądarki
Nie wiem czemu. Dodałem ten twój kod z pierwszego postu do mojego i jest wszystko dobrze.
panel_admina.php wygląda tak:[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?>
<!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="application/xhtml+xml; charset=utf-8" />
<title> [tytuł strony] </title>
</head>
<body>
<pre>
<a href="admin.php?p=logout" title="Wyloguj">Wyloguj</a>
<?php
$katalog = opendir("./");
while ($plik = strtolower(readdir($katalog))) {
if ($plik<>"." && $plik<>".." && $plik<>"admin.php" ) $lista[]=$plik;
}
closedir($katalog);
if (count($lista)>0) {
echo "Wybierz plik do edycj:";
sort($lista);
}
for ($i=0;$i<count($lista);$i++) {
echo "<br />Edytuj plik <b>$lista[$i]</b> <a
href=\"admin.php?edycja=$lista[$i]\">Edytuj plik</a>";
}
// zmiana zawartosci pliku
$edycja = $_REQUEST["edycja"];
if (isset($_POST["tekst"]) && file_exists($edycja)) {
$f = fopen($edycja, "w");
fputs($f, stripslashes($_POST["tekst"]));
fclose($f);
}
// umieszczenie pliku w formularzu
if ($edycja<>"" && file_exists($edycja)) {
echo "<p> </p>Edycja plik: <b>$edycja</b>";
echo '<form action="admin.php" method="post"><input type="hidden" name="edycja"
value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
$f = fopen($edycja,"r");
while(!feof($f)) echo fread($f,1024);
fclose($f);
echo '</textarea><input type="submit" value="Zapisz" /></form>';
}
?>
</pre>
</body>
</html>
[/php]
panel_admina.php wygląda tak:[php]<?php
defined('UTWORZYL') or die('Błąd podczas odczytywania pliku');
?>
<!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="application/xhtml+xml; charset=utf-8" />
<title> [tytuł strony] </title>
</head>
<body>
<pre>
<a href="admin.php?p=logout" title="Wyloguj">Wyloguj</a>
<?php
$katalog = opendir("./");
while ($plik = strtolower(readdir($katalog))) {
if ($plik<>"." && $plik<>".." && $plik<>"admin.php" ) $lista[]=$plik;
}
closedir($katalog);
if (count($lista)>0) {
echo "Wybierz plik do edycj:";
sort($lista);
}
for ($i=0;$i<count($lista);$i++) {
echo "<br />Edytuj plik <b>$lista[$i]</b> <a
href=\"admin.php?edycja=$lista[$i]\">Edytuj plik</a>";
}
// zmiana zawartosci pliku
$edycja = $_REQUEST["edycja"];
if (isset($_POST["tekst"]) && file_exists($edycja)) {
$f = fopen($edycja, "w");
fputs($f, stripslashes($_POST["tekst"]));
fclose($f);
}
// umieszczenie pliku w formularzu
if ($edycja<>"" && file_exists($edycja)) {
echo "<p> </p>Edycja plik: <b>$edycja</b>";
echo '<form action="admin.php" method="post"><input type="hidden" name="edycja"
value="'.$edycja.'" /><textarea name="tekst" rows="20" cols="50">';
$f = fopen($edycja,"r");
while(!feof($f)) echo fread($f,1024);
fclose($f);
echo '</textarea><input type="submit" value="Zapisz" /></form>';
}
?>
</pre>
</body>
</html>
[/php]
Re: Edycja Plików .TXT za pomoca przeglądarki
Coś chyba Krasnal mi się rypie
W sumie to teraz oba działają, ale dzięki za poświęcony czas.
Dopiero zaczynam moją przygodę z PHP.
Polecicie mi jakąś książkę bo lubię się tak uczyć z papieru.
Na urodziny siostra zamówiła mi książkę
Może znacie jeszcze jakąś fajną książkę dla lajków???
Edit:
niestety podczas próby dodania tego kody wyskakują błędy???
W sumie to teraz oba działają, ale dzięki za poświęcony czas.
Dopiero zaczynam moją przygodę z PHP.
Polecicie mi jakąś książkę bo lubię się tak uczyć z papieru.
Na urodziny siostra zamówiła mi książkę
co o niej sądzicie??PHP. 101 praktycznych skryptów. Wydanie II
Może znacie jeszcze jakąś fajną książkę dla lajków???
Edit:
Kod: Zaznacz cały
if(substr($plik,-4)=='.txt') echo 'txt jak się patrzy';-
ooo_michal
- Przelotem

- Posty: 245
- Rejestracja: śr kwie 18, 2007 9:06 am
Re: Edycja Plików .TXT za pomoca przeglądarki
Co do tej książki to nie przypadła mi do gustu. Ja zaczynałem od "PHP5 i MySQL. Biblia". Mam jeszcze "PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty". Obie bardzo fajne. Ciężko ocenić, która lepsza. Na pewno nie potrzebujesz obydwu.
if ($plik<>"." && $plik<>".." && $plik<>"admin.php" ) $lista[]=$plik;
?>[/php]na[php]<?php
if ( substr($plik,-4)=='.txt' ) $lista[]=$plik;
?>[/php]
Zmień linię[php]<?phpniestety podczas próby dodania tego kody wyskakują błędy???
if ($plik<>"." && $plik<>".." && $plik<>"admin.php" ) $lista[]=$plik;
?>[/php]na[php]<?php
if ( substr($plik,-4)=='.txt' ) $lista[]=$plik;
?>[/php]
Re: Edycja Plików .TXT za pomoca przeglądarki
Naprawdę jeszcze raz dzięki za pomoc i porady 
Re: Edycja Plików .TXT za pomoca przeglądarki
Napotkałem problem.
Ustawiłem polskie kodowanie, w pliku php za pomocą kodowanie html
Jednak edytowane pliki są w innym kodowaniu i nie ma polskich znaków.
I podobny problem z tekstem wyświetlającym się na stronie mam ł ale nie mam ą.
Znalazłem coś ale niestety nic nie pomaga.
Coś poradzicie???
Ustawiłem polskie kodowanie, w pliku php za pomocą kodowanie html
Jednak edytowane pliki są w innym kodowaniu i nie ma polskich znaków.
I podobny problem z tekstem wyświetlającym się na stronie mam ł ale nie mam ą.
Znalazłem coś ale niestety nic nie pomaga.
Coś poradzicie???
Re: Edycja Plików .TXT za pomoca przeglądarki
Zapisać te pliki w odpowiednim kodowaniu. Później problemu nie będzie.
