Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> skrypt do edycji pliku
Grumens
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Witam,
Znalazlem skrypt do edycji plikow w zdalnym katalogu, oto ten skrypt:

[php:1:8c5c88e16b]
<?php
ob_start();

echo " <html> <body bgcolor=white text=black link=blue>n";

if ($dir)
{
echo "Using $dir directory.";
$mydir = $dir;
} else $mydir = "."; // for unix use /home/usern/public_html/
// or '.' for default dir

$curdir=dir($mydir);

if($writefile)
{
$fd=fopen($mydir."/".$file, "w");
fwrite($fd, stripslashes($text));
fclose($fd);
header("Location: $PHP_SELF?dir=$mydir");
}
elseif($file)
{
$fp=fopen($mydir."/".$file, "r"); // $mydir$myfile
while(!feof($fp)) {
$con .= fgets($fp, 4096);
}
fclose($fp);

echo " <FORM ACTION='$PHP_SELF' METHOD='post'>n
<input type=hidden name=writefile value=$file>n
<input type=hidden name=file value=$file>n
<input type=hidden name=dir value=$mydir>n
<TITLE>WebShell - Editing $file</TITLE>n
<TEXTAREA ROWS='20' COLS='55' NAME='text'>n";
echo $con;
echo " </TEXTAREA><BR>n
<input type='submit' value='Save'>n</form>n";
}
else
{
while($file = $curdir->read()) {
// originally was $curdir->read()
echo "<a href='$PHP_SELF?file=$file&dir=".$mydir."'>$file</a><BR>n";
}
echo " <FORM ACTION='$PHP_SELF' METHOD='post'>n
<input type=text name=dir value='$mydir'>n
<TITLE>Editing $file</TITLE>n
<input type='submit' value='Change dir'>n</form>n";
}

ob_end_flush();
?>
</body>
</html>
[/php:1:8c5c88e16b]

Chcialbym ten skrypt w ten sposob przerobic, zeby edytowal konkretny plik a nie pokazywal wszystkie pliki z katalogu. Wyobrazam to sobie tak, ze na jakiejs innej stronie mam button, ktory prowadzi mnie do tego skryptu, naciskam go, otwiera sie pole textowe z otwartym konkretnym, przeze mnie podanym w skrypcie plikiem, edytuje plik, naciskam save i z powrotem laduje mi sie ta strona, z ktorej naciskalem button do edycji. Skrypt jest troche skomplikowany i nie moge sobie z tym poradzic.


--------------------
Pozdrawiam
Grumens
Go to the top of the page
+Quote Post
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




php pocz -> Skrypty php
Go to the top of the page
+Quote Post
netzah
post
Post #3





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Nie trzeba w nim nic przerabiac - mozesz podac spokojnie konkretny plik i katalog przez POST lub GET, np. robiac link na stronie:
edycja.php?file=plik.txt&dir=katalog

A co do powrotu na strone po edycji to musisz zmienic przekierowanie z linii 20 na np.
Kod
header("Location: index.php");

Jezeli chcesz wracac do roznych stron, a nie zawsze do jednej - musisz rowniez przekazac ten adres, np. $back, i wtedy linia 20 wyglada tak:
Kod
header("Location: $back");


a do formularza trzeba dodac
Kod
echo "<input type='hidden' name='back' value='$back'>";

zeby nie zgubic tego parametru po przeladowaniu strony.
Go to the top of the page
+Quote Post
Majdan
post
Post #4





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


Nie ma sensu przekazywać $back, bo można użyć $_SERVER['HTTP_REFERER'].


--------------------
Go to the top of the page
+Quote Post
netzah
post
Post #5





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Mozna, ale warto pamietac, ze Referer jest ustawiany przez przegladarke i - jak stwierdza manual - it cannot really be trusted.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:59