Witam,
Mam prośbę.
Używam skryptu php do tworzenia plików tekstowych. Niestety jego działanie jest zakłócone przez włączoną na serwerze funkcję magic_quotes_gpc (do każdego edytowanego, tworzonego pliku tekstowego za pomocą tego skryptu jest dodawany \ slash, obok cudzysłowów i apostrofów ” i ‘) czytałem, że można się pozbyć tego problemu stosując funkcję stripslashes, ale nie wiem w którym miejscu skryptu mam ją umieścić i jak ma
wyglądać jej treść, lub może jest jakieś inne rozwiązanie tego problemu.
czytałem manuala php, forum.php.pl, i o ile radzę sobie w prostszych skryptach, to w tym nie wiem jak zastosować stripslashes, próbowałem także wyłączyć magic_quotes_gpc, umieszczając .htaccess na serwerze, ale to nie przyniosło efektu.
Edytor składa się z następujących plików: webeditor.php, navigator.php, navigator.inc, editor.php, editor.inc, common.inc.
//--------------------------plik webeditor.php -----------------------------------------------------------------
<?php
include "./common.inc";
include "./editor.inc";
include "./navigator.inc";
function frame_page() {
?>
<HTML>
<HEAD><TITLE>Witamy w sieciowym edytorze tekstu!</TITLE></HEAD>
<FRAMESET COLS="200,*">
<FRAME NAME="menu"
SRC="
<?php echo "$PHP_SELF?action=dir_page&dir=$dir"; ?>">
<FRAME NAME="main"
SRC="
<?php echo "$PHP_SELF?action=editor_page&dir=$dir"; ?>">
<NOFRAMES>
<BODY TOPMARGIN="0" LEFTMARGIN="0">
<P>Strona uzywa ramek, a twoja przegladarka ich nie obsluguje.</P>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
<?php
}
function upload_file_form() {
?>
<FORM METHOD="POST" ENCTYPE="MULTIPART/FORM-DATA"
ACTION="
<?php echo $PHP_SELF ?>" TARGET="menu">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="upload_file">
<INPUT TYPE="HIDDEN" NAME="dir" VALUE="
<? echo $dir ?>">
Lokalna nazwa pliku <INPUT TYPE="FILE" NAME="userfile">
Nazwa przeslanego pliku<INPUT TYPE="TEXT" NAME="filename" LENGTH="20">
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Przeslij">
</FORM>
<?php
}
function upload_file() {
global $userfile, $userfile_name, $userfile_size, $userfile_type, $filename, $default_dir, $dir, $PHP_SELF, $WINDIR;
if(empty($dir) || !ereg($default_dir, $dir)) { error_message("$dir/$filename nie jest prawidlowym katalogiem.");
}
if($userfile_size <= 0) {
error_message("$filename jest pusty.");
}
error_message("$filename juz istnieje.");
}
if(!@copy($userfile, "$dir/$filename")) { error_message("Nie moge skopiowac $userfile_name na $filename.");
}
error_message("Nie moge usunac $userfile_name.");
}
html_header();
$file_info_array = file_info("$dir/$filename");
if($file_info_array["filetype"] == 'text')
echo "<script>parent.main.location.href= '$PHP_SELF?action=editor_page&
dir=$dir&filename=$filename';
</SCRIPT>";
dir_page();
html_footer();
}
if(empty($dir) || !ereg($default_dir, $dir)) { $dir = $default_dir;
}
if($filename == basename($PHP_SELF)) error_message
("Nie mozesz mnie zmieniac!"); switch ($action) {
case "editor_page":
html_header();
upload_file_form();
editor_page();
html_footer();
break;
case "dir_page":
html_header();
dir_page();
html_footer();
break;
case "make_dir":
make_dir();
break;
case "delete_dir":
delete_dir();
break;
case "delete_file":
delete_file();
break;
case "save_file":
save_file();
break;
case "upload_file":
upload_file();
break;
default:
frame_page();
break;
}
?>
//-----------------------------------------------------plik navigator.php -------------------------
<?php
//navigator.php
include "common.inc";
function mkdir_form() {
?>
<CENTER>
<FORM METHOD="POST"
ACTION="
<?php echo "$PHP_SELF?action=make_dir&dir=$dir"; ?>">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="make_dir">
<INPUT TYPE="HIDDEN" NAME="dir" VALUE="
<? echo $dir ?>">
<?php
echo "<STRONG>$dir</STRONG>" ?>
<BR>
<INPUT TYPE="TEXT" NAME="new_dir" SIZE="10">
<INPUT TYPE="SUBMIT" VALUE="Make Dir" NAME="Submit">
</FORM>
</CENTER>
<?php
}
function make_dir() {
if(!@mkdir("$dir/$new_dir", 0700)) { error_message("Nie moge utworzyc katalogu $dir/$new_dir.");
}
html_header();
dir_page();
html_footer();
}
function display() {
global $filename, $dir, $text_file_array, $image_file_array;
if(in_array($extension, $text_file_array)) { }
else if(in_array($extension, $image_file_array)) { echo "<IMG SRC="$dir/$filename">"; }
else echo "Nie mozna wyswietlic. $dir/$filename nie zostal rozpoznany jako plik tekstowy ani plik graficzny. ";
}
function dir_page() {
global $dir, $default_dir, $PHP_SELF, $default_filename;
if($dir == '') {
$dir = $default_dir;
}
?>
<TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
<?php
while($file = readdir($dp)) $filenames[] = $file;
for($i = 0; $i < count($filenames); $i++) {
$file = $filenames[$i];
if($dir == $default_dir && ($file == "." || $file == ".."))
continue;
if(is_dir("$dir/$file") && $file == ".") continue;
if($file == ".."){
echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?
dir=$parent_dir">$file/ </A></TD></TR>n";
}
else echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?
dir=$dir/$file"> $file/</A></TD></TR>n";
}
else echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?action=display&dir=$dir&filename=$file"
TARGET="_blank">$file</A></TD></TR>n";
}
?>
</TABLE>
<?php
mkdir_form();
}
if(empty($dir) || !ereg($default_dir, $dir)) { $dir = $default_dir;
}
switch ($action) {
case "make_dir":
make_dir();
break;
case "display":
display();
break;
default:
html_header();
dir_page();
html_footer();
break;
}
?>
//---------------------------------------plik navigator.inc -------------------------------------------
<?php
//navigator.php
//include "common.inc";
function mkdir_form() {
?>
<CENTER>
<FORM METHOD="POST"
ACTION="
<?php echo "$PHP_SELF?action=make_dir&dir=$dir"; ?>">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="make_dir">
<INPUT TYPE="HIDDEN" NAME="dir" VALUE="
<? echo $dir ?>">
<?php
echo "<STRONG>$dir</STRONG>" ?>
<BR>
<INPUT TYPE="TEXT" NAME="new_dir" SIZE="10">
<INPUT TYPE="SUBMIT" VALUE="Twórz katalog" NAME="Submit">
</FORM>
</CENTER>
<?php
}
function make_dir() {
if(!@mkdir("$dir/$new_dir", 0700)) { error_message("Nie mogę utworzyć katalogu $dir/$new_dir.");
}
html_header();
dir_page();
html_footer();
}
function display() {
global $filename, $dir, $text_file_array, $image_file_array;
if(in_array($extension, $text_file_array)) { }
else if(in_array($extension, $image_file_array)) { echo "<IMG SRC="$dir/$filename">"; }
else echo "Nie można wyświetlić. $dir/$filename nie został rozpoznany jako plik tektowy, ani prawidłowy plik graficzny. ";
}
function dir_page() {
global $dir, $default_dir, $PHP_SELF, $default_filename;
if($dir == '') {
$dir = $default_dir;
}
?>
<TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
<?php
while($file = readdir($dp)) $filenames[] = $file;
for($i = 0; $i < count($filenames); $i++) {
$file = $filenames[$i];
if($dir == $default_dir && ($file == "." || $file == ".."))
continue;
if(is_dir("$dir/$file") && $file == ".") continue;
if($file == ".."){
echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?action=dir_page&
</A></TD></TR>n";
}
else echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?action=dir_page&
</A></TD></TR>n";
}
else echo "<TR><TD WIDTH="100%" NOWRAP> <A HREF="$PHP_SELF?action=editor_page&
TARGET="main">$file
</A></TD></TR>n";
}
?>
</TABLE>
<?php
mkdir_form();
}
?>
cdn
Ten post edytował sailor 19.07.2007, 15:55:42