Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zastosować funkcję stripslashes ?, w edytorze stron
Forum PHP.pl > Forum > Przedszkole
sailor
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.

  1. //--------------------------plik webeditor.php -----------------------------------------------------------------
  2.  
  3. <?php
  4. include "./common.inc";
  5. include "./editor.inc";
  6. include "./navigator.inc";
  7.  
  8. function frame_page() {
  9.  global $PHP_SELF, $dir;
  10. ?>
  11. <HTML>
  12. <HEAD><TITLE>Witamy w sieciowym edytorze tekstu!</TITLE></HEAD>
  13. <FRAMESET COLS="200,*">
  14. <FRAME NAME="menu"
  15.  SRC="<?php echo "$PHP_SELF?action=dir_page&dir=$dir"; ?>">
  16. <FRAME NAME="main"
  17.  SRC="<?php echo "$PHP_SELF?action=editor_page&dir=$dir"; ?>">
  18. <NOFRAMES>
  19. <BODY TOPMARGIN="0" LEFTMARGIN="0">
  20. <P>Strona uzywa ramek, a twoja przegladarka ich nie obsluguje.</P>
  21. </BODY>
  22. </NOFRAMES>
  23. </FRAMESET>
  24. </HTML>
  25. <?php
  26. }
  27.  
  28. function upload_file_form() {
  29.  global $PHP_SELF, $dir;
  30. ?>
  31. <FORM METHOD="POST" ENCTYPE="MULTIPART/FORM-DATA"
  32. ACTION="<?php echo $PHP_SELF ?>" TARGET="menu">
  33. <INPUT TYPE="HIDDEN" NAME="action" VALUE="upload_file">
  34. <INPUT TYPE="HIDDEN" NAME="dir" VALUE="<? echo $dir ?>">
  35.  Lokalna nazwa pliku <INPUT TYPE="FILE" NAME="userfile">
  36.  Nazwa przeslanego pliku<INPUT TYPE="TEXT" NAME="filename" LENGTH="20">
  37.  <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Przeslij">
  38. </FORM>
  39. <?php
  40. }
  41.  
  42. function upload_file() {
  43.  global $userfile, $userfile_name, $userfile_size, $userfile_type, 
  44. $filename, $default_dir, $dir, $PHP_SELF, $WINDIR;
  45.  if(empty($dir) || !ereg($default_dir, $dir)) {
  46. error_message("$dir/$filename nie jest prawidlowym katalogiem.");
  47.  }
  48.  if(!isset($WINDIR)) $userfile = str_replace("","", $userfile);
  49.  if(empty($filename)) $filename = basename($userfile_name);
  50.  
  51.  if($userfile_size <= 0) { 
  52. error_message("$filename jest pusty.");
  53.  }
  54.  if(file_exists("$dir/$filename")) {
  55. error_message("$filename juz istnieje.");
  56.  }
  57.  if(!@copy($userfile, "$dir/$filename")) {
  58. error_message("Nie moge skopiowac $userfile_name na $filename.");  
  59.  }
  60.  if(!isset($WINDIR) && !@unlink($userfile)) {
  61. error_message("Nie moge usunac $userfile_name.");
  62.  
  63.  }
  64.  html_header();
  65.  $file_info_array = file_info("$dir/$filename");
  66.  if($file_info_array["filetype"] == 'text')
  67. echo "<script>parent.main.location.href=
  68. '$PHP_SELF?action=editor_page&
  69. dir=$dir&filename=$filename';
  70.  </SCRIPT>";
  71.  dir_page();
  72.  html_footer();
  73. }
  74. if(empty($dir) || !ereg($default_dir, $dir)) {
  75.  $dir = $default_dir;
  76. }
  77. if($filename == basename($PHP_SELF)) error_message("Nie mozesz mnie zmieniac!");
  78. switch ($action) {
  79.  case "editor_page":
  80. html_header();
  81. upload_file_form();
  82. editor_page();
  83. html_footer();
  84. break;
  85.  case "dir_page":
  86. html_header();
  87. dir_page();
  88. html_footer();
  89. break;
  90.  case "make_dir":
  91. make_dir();
  92. break;
  93.  case "delete_dir":
  94. delete_dir();
  95. break;
  96.  case "delete_file":
  97. delete_file();
  98. break;
  99.  case "save_file":
  100. save_file();
  101. break;
  102.  case "upload_file":
  103. upload_file();
  104. break;
  105.  default:
  106. frame_page();
  107.  break;
  108. }
  109. ?>
  110.  
  111. //-----------------------------------------------------plik navigator.php -------------------------
  112.  
  113. <?php
  114. //navigator.php
  115. include "common.inc";
  116.  
  117. function mkdir_form() {
  118.  global $PHP_SELF, $dir;
  119. ?>
  120.  
  121. <CENTER>
  122. <FORM METHOD="POST" 
  123.  ACTION="<?php echo "$PHP_SELF?action=make_dir&dir=$dir"; ?>">
  124. <INPUT TYPE="HIDDEN" NAME="action" VALUE="make_dir">
  125. <INPUT TYPE="HIDDEN" NAME="dir" VALUE="<? echo $dir ?>">
  126.  
  127. <?php
  128. echo "<STRONG>$dir</STRONG>"
  129. ?>
  130.  
  131. <BR>
  132. <INPUT TYPE="TEXT" NAME="new_dir" SIZE="10">
  133. <INPUT TYPE="SUBMIT" VALUE="Make Dir" NAME="Submit">
  134.  
  135. </FORM>
  136. </CENTER>
  137. <?php
  138. }
  139.  
  140. function make_dir() {
  141.  global $dir, $new_dir;
  142.  if(!@mkdir("$dir/$new_dir", 0700)) {
  143. error_message("Nie moge utworzyc katalogu $dir/$new_dir.");
  144.  }
  145.  html_header();
  146.  dir_page();
  147.  html_footer();
  148. }
  149.  
  150. function display() {
  151.  global $filename, $dir, $text_file_array, $image_file_array;
  152.  
  153.  $extension = array_pop(explode(".", $filename));
  154.  if(in_array($extension, $text_file_array)) {
  155. readfile("$dir/$filename");
  156.  }
  157.  else if(in_array($extension, $image_file_array)) {
  158.  echo "<IMG SRC="$dir/$filename">";
  159.  }
  160.  else echo "Nie mozna wyswietlic. $dir/$filename nie zostal 
  161. rozpoznany jako plik tekstowy ani plik graficzny. ";
  162. }
  163.  
  164. function dir_page() {
  165.  global $dir, $default_dir, $PHP_SELF, $default_filename;
  166.  
  167.  if($dir == '') {
  168. $dir = $default_dir;
  169.  }
  170.  $dp = opendir($dir);
  171.  
  172. ?>
  173. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  174. <?php
  175.  while($file = readdir($dp)) $filenames[] = $file;
  176.  
  177.  sort($filenames);
  178.  
  179.  for($i = 0; $i < count($filenames); $i++)
  180.  {
  181. $file = $filenames[$i];
  182.  if($dir == $default_dir && ($file == "." || $file == ".."))
  183.  continue;
  184. if(is_dir("$dir/$file") && $file == ".")
  185.  continue;
  186. if(is_dir("$dir/$file")) {
  187.  if($file == ".."){
  188. $current_dir = basename($dir);
  189. $parent_dir = ereg_replace("/$current_dir$","",$dir);
  190. echo "<TR><TD WIDTH="100%" NOWRAP>
  191.  <A HREF="$PHP_SELF?dir=$parent_dir">$file/
  192.  </A></TD></TR>n";
  193.  }  
  194.  else echo "<TR><TD WIDTH="100%" NOWRAP>
  195. <A HREF="$PHP_SELF?dir=$dir/$file">
  196.  $file/</A></TD></TR>n";
  197. }
  198. else echo "<TR><TD WIDTH="100%" NOWRAP>
  199. <A HREF="$PHP_SELF?action=display&dir=$dir&filename=$file"
  200.  TARGET="_blank">$file</A></TD></TR>n";
  201.  }
  202. ?>
  203. </TABLE>
  204. <?php
  205.  mkdir_form();
  206. }
  207.  
  208. if(empty($dir) || !ereg($default_dir, $dir)) {
  209.  $dir = $default_dir;
  210. }
  211.  
  212. switch ($action) {
  213.  case "make_dir":
  214. make_dir();
  215. break;
  216.  case "display":
  217. display();
  218. break;
  219.  default:
  220. html_header();
  221. dir_page();
  222. html_footer();
  223. break;
  224. }
  225. ?>
  226.  
  227. //---------------------------------------plik navigator.inc -------------------------------------------
  228.  
  229. <?php
  230. //navigator.php
  231. //include "common.inc";
  232.  
  233. function mkdir_form() {
  234.  global $PHP_SELF, $dir;
  235. ?>
  236.  
  237. <CENTER>
  238. <FORM METHOD="POST" 
  239.  ACTION="<?php echo "$PHP_SELF?action=make_dir&dir=$dir"; ?>">
  240. <INPUT TYPE="HIDDEN" NAME="action" VALUE="make_dir">
  241. <INPUT TYPE="HIDDEN" NAME="dir" VALUE="<? echo $dir ?>">
  242.  
  243. <?php
  244. echo "<STRONG>$dir</STRONG>"
  245. ?>
  246.  
  247. <BR>
  248. <INPUT TYPE="TEXT" NAME="new_dir" SIZE="10">
  249. <INPUT TYPE="SUBMIT" VALUE="Twórz katalog" NAME="Submit">
  250.  
  251. </FORM>
  252. </CENTER>
  253. <?php
  254. }
  255.  
  256. function make_dir() {
  257.  global $dir, $new_dir;
  258.  if(!@mkdir("$dir/$new_dir", 0700)) {
  259. error_message("Nie mogę utworzyć katalogu $dir/$new_dir.");
  260.  }
  261.  html_header();
  262.  dir_page();
  263.  html_footer();
  264. }
  265.  
  266. function display() {
  267.  global $filename, $dir, $text_file_array, $image_file_array;
  268.  
  269.  $extension = array_pop(explode(".", $filename));
  270.  if(in_array($extension, $text_file_array)) {
  271. readfile("$dir/$filename");
  272.  }
  273.  else if(in_array($extension, $image_file_array)) {
  274.  echo "<IMG SRC="$dir/$filename">";
  275.  }
  276.  else echo "Nie można wyświetlić. $dir/$filename nie został rozpoznany 
  277. jako plik tektowy, ani prawidłowy plik graficzny. ";
  278. }
  279.  
  280. function dir_page() {
  281.  global $dir, $default_dir, $PHP_SELF, $default_filename;
  282.  
  283.  if($dir == '') {
  284. $dir = $default_dir;
  285.  }
  286.  $dp = opendir($dir);
  287.  
  288. ?>
  289. <TABLE BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">
  290. <?php
  291.  while($file = readdir($dp)) $filenames[] = $file;
  292.  
  293.  sort($filenames);
  294.  
  295.  for($i = 0; $i < count($filenames); $i++)
  296.  {
  297. $file = $filenames[$i];
  298.  if($dir == $default_dir && ($file == "." || $file == ".."))
  299.  continue;
  300. if(is_dir("$dir/$file") && $file == ".")
  301.  continue;
  302. if(is_dir("$dir/$file")) {
  303.  if($file == ".."){
  304. $current_dir = basename($dir);
  305. $parent_dir = ereg_replace("/$current_dir$","",$dir);
  306. echo "<TR><TD WIDTH="100%" NOWRAP>
  307. <A HREF="$PHP_SELF?action=dir_page&
  308. dir=$parent_dir">$file/
  309. </A></TD></TR>n";
  310. } 
  311.  
  312. else echo "<TR><TD WIDTH="100%" NOWRAP>
  313.  <A HREF="$PHP_SELF?action=dir_page&
  314.  dir=$dir/$file">$file/
  315.  </A></TD></TR>n";
  316. }
  317.  
  318. else echo "<TR><TD WIDTH="100%" NOWRAP>
  319.  <A HREF="$PHP_SELF?action=editor_page&
  320.  dir=$dir&filename=$file"
  321. TARGET="main">$file
  322.  </A></TD></TR>n";
  323. }
  324.  
  325. ?>
  326. </TABLE>
  327. <?php
  328.  mkdir_form();
  329. }
  330.  
  331. ?>

cdn
qwaq
1. z długością postu przesadziłeś - nawet nie czytałem
2. popraw BBCode bo ci zamkną temat
3. poszykaj funkcji do zamiany stringa na string \" na "
4. lub łopatologicznie
Kod
<?
//$zmienna to twoj string
$x=explode("\\\"",$zmienna);
$zmienna=implode("\\\"",$x);
?>
skowron-line
Cytat
jak ma
wyglądać jej treść,

no to jak nie wiesz to manual napewno bedzie wiedzial
stripslashes
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.