[HELP] Sửa Mã PHP

26 bài đăng
06.07.2015 / 07:23
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Ae sửa giúp cái mã PHP này cái =))

Tình trạng: khi sửa đoạn mã có dạng

PHP
  1. echo("<div class=\"hú hú\">chán chết đi được <img src=\"img.png\"> $proladay</div>");

thì nó bị mất cái gạch chéo "\". Dự là hàm replace mà lười nên cho ae thử tài xem =))

=>> Vì cái chỉnh sửa code của host trên điện thoại mà hỏng mấy cái file, điển hình là file index của forum, cái quan trọng nhất hỏng cmnr :v. Nên phải đi tìm code wapftp up lên rồi tự sửa vậy (cũng buồn cười vì nói ra là tự sửa code của code :v)

Full code edit.php

PHP
  1. error_reporting(0);
  2. $k=trim($_GET['k']); include("key.php");
  3. $d=rawurldecode(trim($_GET['d'])); $n=rawurldecode(trim($_GET['n']));
  4. if ($d==NULL) {$d="";} elseif ($d=="/") {$d="";} if ($n==NULL) {$n="";}
  5. $p=trim($_GET['p']); if ($p==NULL) {$p=trim($_POST['p']);} $ed=trim($_GET['ed']);
  6. $kdr=trim($_GET['kdr']); $ikdr=trim($_GET['ikdr']);
  7. $rf=strtolower(preg_replace("~.*\.([^\.]*)~m","\\1",$n));
  8. $rd=rawurlencode($d); $rn=rawurlencode($n);
  9. $d=str_replace(".|htaccess",".htaccess",$d);
  10. $n=str_replace(".|htaccess",".htaccess",$n);
  11. include("utf.php"); include("esc.php"); include("koi.php"); $v=$_GET['ln'];
  12. if (($rf=="wml")||($rf=="htm")||($rf=="html")||($rf=="txt")) {
  13. $soft2="<a accesskey=\"5\" title=\"view\" href=\"show.php?k=$k&amp;t=$rf\">Xem</a>&nbsp;";
  14. } elseif ($rf=="php") {
  15. $soft2="<a accesskey=\"5\" title=\"view\" href=\"chck.php?k=$k\">Ki&#7875;m tra</a>&nbsp;";
  16. }
  17. header("Cache-Control: no-cache, must-revalidate");
  18. $title="Editing ".$n;
  19. include("inc/head.php");
  20.  
  21. if ($ed==1) {@unlink("data/$k.edbk"); @unlink("data/$k.edbkp"); @unlink("data/$k.ed");
  22. if (($ftp=ftp_connect($sr))&&(ftp_login($ftp,$lg,$ps))) {
  23. ftp_pasv($ftp,true); $sz=ftp_size($ftp,"$d/$n");
  24. if (($sz==-1)||($sz>122880)) {
  25. header("Location: $dftp/ftp.php?k=$k&d=$rd"); exit;
  26. }
  27. ftp_get($ftp,"data/$k.ed","$d/$n",FTP_BINARY);
  28. $fl=@file("data/$k.ed");
  29. if ($fl<>NULL) {
  30. $f=fopen("data/$k.ed","w");
  31. for ($i=0;$i<count($fl);$i++) {
  32. if ($i==0) {
  33. if (substr($fl[$i],0,3)==chr(239).chr(187).chr(191)) {$fl[$i]=substr($fl[$i],3);}
  34. }
  35. if ($kdr==5) {fwrite($f,trim($fl[$i])."\r\n");}
  36. else {
  37. if ($ikdr==1) {fwrite($f,trim(k2u($fl[$i]))."\r\n");}
  38. else {fwrite($f,trim(w2u(e2w(u2w($fl[$i]))))."\r\n");}
  39. }
  40. }
  41. fclose($f);
  42.  
  43. $msz=$_GET['msz'];
  44. if ($msz<>NULL) {
  45. if ($msz>10240) {$msz=10240;}
  46. if ($msz>=32) {
  47. $fl=@file("data/$k.ed");
  48. $f=fopen("data/$k.ed","w");
  49. for ($i=0;$i<count($fl);$i++) {
  50. if (strlen($fl[$i])>$msz) {
  51. $fl[$i]=trim(preg_replace("~.{".$msz."}[\s;}>,]~m","\\0\r\n",trim($fl[$i])))."\r\n";
  52. }
  53. fwrite($f,$fl[$i]);
  54. }
  55. }
  56. fclose($f);
  57. }
  58. }
  59. ftp_close($ftp);
  60. } else {
  61. echo("<p>L&#7893;i k&#7871;t n&#7889;i.</p>");
  62. include("inc/foot.php"); exit;
  63. }
  64. }
  65.  
  66. $sv=trim($_GET['sv']); $svs=trim($_GET['svs']); $undo=trim($_GET['undo']);
  67. if (($v==NULL)||($v<1)||($v>10000)) {$v=100;}
  68. function rept($kl) {
  69. if (($kl[1]<>NULL)&&($kl[1]!=="0")&&($kl[1]<=10000)) {return str_repeat("\r\n",$kl[1]);}
  70. else {return $kl[0];}
  71. }
  72. function lcopy($nmr) {global $k;
  73. $fl=@file("data/$k.ed");
  74. $cnt=count($fl);
  75. if (($nmr[1]>=1)&&($nmr[1]<=$cnt)) {return trim($fl[$nmr[1]-1]);}
  76. else {return $nmr[0];}
  77. }
  78. function chars($ch) {
  79. global $kdr;
  80. if (($ch[1]>=0)&&($ch[1]<=255)) {
  81. if ($kdr==5) {return chr($ch[1]);}
  82. else {return w2u(chr($ch[1]));}
  83. } else {return $ch[0];}
  84. }
  85. function repl($txt) {
  86. $txt=preg_replace_callback("~#_new_line_\[(\d*)\]#~",rept,$txt);
  87. $txt=preg_replace_callback("~#_copy_\[(\d*)\]#~",lcopy,$txt);
  88. $txt=preg_replace("~#_new_line#~","\r\n",$txt);
  89. $txt=preg_replace("~[^\n]*#_del_line#[^\n]*\n?~","",$txt,1);
  90. $txt=str_replace("#_wml_1.1#","<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">",$txt);
  91. $txt=str_replace("#_wml_1.2#","<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.2//EN\" \"http://www.wapforum.org/DTD/wml_1.2.xml\">",$txt);
  92. $txt=str_replace("#_wml_1.3#","<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">",$txt);
  93. $txt=str_replace("#_html_4.0#","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">",$txt);
  94. $txt=str_replace("#_html_4.01#","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">",$txt);
  95. $txt=str_replace("#_wml_header#","header(\"Content-type: text/vnd.wap.wml; charset=utf-8\");",$txt);
  96. $txt=str_replace("#_html_header#","header(\"Content-type: text/html; charset=utf-8\");",$txt);
  97. $txt=str_replace("#_txt_header#","header(\"Content-type: text/plain; charset=utf-8\");",$txt);
  98. $txt=str_replace("#_wml_begin#","<wml><card id=\"card1\" title=\"\"><p align=\"left\">",$txt);
  99. $txt=str_replace("#_wml_end#","</p></card></wml>",$txt);
  100. $txt=str_replace("#_html_begin#","<html><head><title></title><meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\"></head><body>",$txt);
  101. $txt=str_replace("#_html_end#","</body></html>",$txt);
  102. $txt=str_replace("#_html_css#","<link rel=\"STYLESHEET\" type=\"text/css\" href=\".css\">",$txt);
  103. $txt=str_replace("#_php_location#","header(\"Location: http://\"); exit;",$txt);
  104. $txt=str_replace("#_php_date#","date(\"d.m.Y, H:i:s\",mktime(date(\"H\")+0));",$txt);
  105. $txt=preg_replace_callback("~#_(\d{1,3})#~",chars,$txt);
  106. return $txt;
  107. }
  108. if ($undo<>NULL) {
  109. @copy("data/$k.edbk","data/$k.ed");
  110. $p=trim(@file_get_contents("data/$k.edbkp"));
  111. @unlink("data/$k.edbk"); @unlink("data/$k.edbkp");
  112. } else {
  113. if ($sv<>NULL) {
  114. @copy("data/$k.ed","data/$k.edbk");
  115. $f=@fopen("data/$k.edbkp","w"); @fwrite($f,$p); @fclose($f);
  116. $e1=trim(stripslashes($_POST['e1']));
  117. $e1=str_replace(chr(226).chr(128).chr(168),"\r\n",$e1);
  118. $e1=str_replace(chr(226).chr(128).chr(169),"\r\n",$e1);
  119. if ($e1<>NULL) {
  120. if ($fl=@file("data/$k.ed")) {$cnt=count($fl);
  121. $begin=$sv*$v-$v; if ($begin>$cnt) {$begin=0;}
  122. $end=$begin+$v; if ($end>$cnt) {$end=$cnt;} $ar=NULL; $str="";
  123. for ($i=$begin;$i<$end;$i++) {
  124. if ($i==$begin) {$fl[$i]=repl($e1."\r\n");} else {$fl[$i]='';}
  125. }
  126. for ($i=0;$i<count($fl);$i++) {if ($fl[$i]<>NULL) {$str.=$fl[$i];}}
  127. if (strpos($str,"#_del_free#")!==false) {
  128. $str=preg_replace("~[\s]*#_del_free#[\s]*~","\r\n",$str);
  129. }
  130. if ((strpos($str,"#_del_begin#")!==false)&&(strpos($str,"#_del_end#")!==false)) {
  131. $str=preg_replace("~#_del_begin#[\s\S]*#_del_end#~","",$str);
  132. }
  133. if (strpos($str,"#_del_free_all#")!==false) {
  134. $str=str_replace("#_del_free_all#","",$str);
  135. $str=str_replace("\n\r","",$str);
  136. $str=preg_replace("~^\r\n~","",$str,1);
  137. }
  138. $f=@fopen("data/$k.ed","w"); @fwrite($f,$str); @fclose($f);
  139. } else {$str=$e1;
  140. if (strpos($str,"#_del_free#")!==false) {
  141. $str=preg_replace("~[\s]*#_del_free#[\s]*~","\r\n",$str);
  142. }
  143. if ((strpos($str,"#_del_begin#")!==false)&&(strpos($str,"#_del_end#")!==false)) {
  144. $str=preg_replace("~#_del_begin#[\s\S]*#_del_end#~","",$str);
  145. }
  146. if (strpos($str,"#_del_free_all#")!==false) {
  147. $str=str_replace("#_del_free_all#","",$str);
  148. $str=str_replace("\n\r","",$str);
  149. }
  150. $f=@fopen("data/$k.ed","w"); @fwrite($f,repl(trim($str))); @fclose($f); $str=NULL;
  151. }
  152. }
  153. }
  154. if ($svs<>NULL) {
  155. if ($kdr==1) {copy("data/$k.ed","data/$k.eds");}
  156. else {
  157. $fl=@file("data/$k.ed"); @$f=fopen("data/$k.eds","w");
  158. if ($fl<>NULL) {
  159. for ($i=0;$i<count($fl);$i++) {
  160. if ($kdr==2) {@fwrite($f,trim(u2w($fl[$i]))."\r\n");}
  161. elseif ($kdr==3) {@fwrite($f,trim(w2e(u2w($fl[$i])))."\r\n");}
  162. elseif ($kdr==4) {@fwrite($f,trim(u2k($fl[$i]))."\r\n");}
  163. else {@fwrite($f,trim($fl[$i])."\r\n"); $msg="<div class=\"rmenu\" style=\"color:red\" align=\"center\"><b>&#272;&#7843; &#273;&#432;&#7907;c l&#432;u l&#7841;i !!</b></div>";}
  164. }
  165. }
  166. @fclose($f);
  167. }
  168. if (($ftp=ftp_connect($sr))&&(ftp_login($ftp,$lg,$ps))) {
  169. @ftp_pasv($ftp,true);
  170. @ftp_put($ftp,str_replace('$$','$',"$d/$n"),"data/$k.eds",FTP_BINARY);
  171. @ftp_close($ftp);
  172. } else {
  173. echo("<p>Hello Pro.! Hoang Thinh Pro.</p>");
  174. include("inc/foot.php"); exit;
  175. }
  176. @unlink("data/$k.eds");
  177. }
  178. } $bl=""; $nav="";
  179. if ($fl=@file("data/$k.ed")) {$cnt=count($fl); $allp=ceil($cnt/$v);
  180. if (($p==NULL)||($p==0)) {$p=1;} elseif ($p>$allp) {$p=$allp;} elseif ($p<1) {$p=1;}
  181. $begin=$p*$v-$v; if ($begin>$cnt) {$begin=0;}
  182. $end=$begin+$v; if ($end>$cnt) {$end=$cnt;} $ar=NULL; $vl=$end-$begin;
  183. function chrpl($str) {
  184. for ($j=0;$j<32;$j++) {
  185. if (($j<>10)&&($j<>13)) {$str=str_replace(chr($j),"#_$j#",$str);}
  186. }
  187. return $str;
  188. }
  189. for ($i=$begin;$i<$end;$i++) {$ar[]=htmlspecialchars(chrpl($fl[$i]),ENT_QUOTES);}
  190. if ($p>1) {$vp=$p-1;
  191. $bl.="<a href=\"edit2.php?k=$k&amp;d=$rd&amp;n=$rn&amp;p=$vp&amp;kdr=$kdr&amp;ln=$v\"><font color=\"red\"><b>&lt;&lt;</b></font></a> |\r\n";} elseif ($allp>$p) {$bl.="<b>&lt;&lt;</b> | ";}
  192. if ($allp>$p) {$vp=$p+1;
  193. $bl.="<a href=\"edit.php?k=$k&amp;d=$rd&amp;n=$rn&amp;p=$vp&amp;kdr=$kdr&amp;ln=$v\"><font color=\"red\"><b>&gt;&gt;</b></font></a>\r\n";} elseif ($p>1) {$bl.="<b>&gt;&gt;</b><br/>\r\n";}
  194. if ($bl<>NULL) {
  195. $nav="<input name=\"p\" type=\"text\" value=\"$p\" size=\"3\"><input class=\"submit\" type=\"submit\" value=\"GO\"><br>\r\n";}
  196. } else {$p=1; $allp=1; $ar[]=""; $vl=1;}
  197. $soft="$soft2<a accesskey=\"1\" title=\"code\" href=\"show.php?k=$k&amp;t=pr\">Code</a>&nbsp;<a accesskey=\"2\" title=\"Code 2.0\" href=\"show.php?k=$k&amp;t=pr2\">Code2.0</a>&nbsp;";
  198. echo("<div class=\"gmenu\"><a href=\"ftp.php?k=$k&amp;d=$rd\">$d/</a><a href=\"file.php?k=$k&amp;d=$rd&amp;n=$rn\">$n</a></div><div class=\"bmenu\"><b>$title</b></div>
  199. $msg
  200. <div class=\"menu\">
  201. <form name=\"editor\" action=\"$dftp/edit2.php?k=$k&amp;d=$rd&amp;n=$rn&amp;p=$p&amp;kdr=$kdr&amp;sv=$p&amp;svs=1&amp;ln=$v\" method=\"post\">
  202. <textarea name=\"e1\" rows=\"10\" cols=\"90\">");
  203. for ($i=1;$i<=$vl;$i++) {echo $ar[$i-1];}
  204. echo("</textarea><br>\r\n");
  205. echo("<input class=\"submit\" type=\"submit\" value=\"L&#432;u l&#7841;i\">
  206. </form><br/>");
  207. echo("<form name=\"go\" action=\"$dftp/edit2.php?k=$k&amp;d=$rd&amp;n=$rn&amp;kdr=$kdr&amp;ln=$v\" method=\"post\">$bl<br/>$nav<br/>pages: $p/$allp lines: $vl/$cnt<br/></form></div>");
  208. echo("<div class=\"phdr\"><b>Hanh &#273;&#7897;ng :</b></div>");
  209. echo("<p class=\"menu\">$soft<a href=\"func.php?k=$k&amp;d=$rd&amp;n=$rn&amp;kdr=$kdr&amp;h=&amp;p=$p&amp;ln=$v\" accesskey=\"3\">L&#7921;a ch&#7885;n</a>&nbsp;");
  210. if (@file_exists("data/$k.edbk")) {echo("<a href=\"edit2.php?k=$k&amp;d=$rd&amp;n=$rn&amp;kdr=$kdr&amp;undo=1&amp;ln=$v\" accesskey=\"4\">Lam l&#7841;i ..</a><br/>");}
  211. echo("<a href=\"edit.php?k=$k&amp;d=$rd&amp;n=$rn&amp;p=$p&amp;kdr=$kdr&amp;svs=1&amp;ln=$v\">L&#432;u trong trinh so&#7841;n</a>");
  212. echo "</p>";
  213. include("inc/foot.php");

Chúc may mắn :yao:

Đã chỉnh sửa. hanhphucao (06.07.2015 / 07:24)
06.07.2015 / 10:31
thaian2009
Bài đăng: 709
Member

<?php

echo '<div class="abc">chán chết đi được <img src="img.png">' . $proladay . '</div>';

?>

06.07.2015 / 10:34
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Vậy thì dễ quá :yao:

Cơ bản là code có mấy trăm dòng như vậy, ko chỉ có 1 tập tin :v

Không sửa code mà sửa file edit.php, file sửa code

06.07.2015 / 10:35
thaian2009
Bài đăng: 709
Member

Dùng replace

06.07.2015 / 10:38
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Chán chú quá, đọc kỹ đề giúp cái =))

Tìm hàm thay thế trong file edit.php mà khi sửa code như trên nó BỊ mất "\" :yao:

06.07.2015 / 10:42
thaian2009
Bài đăng: 709
Member

$_POST['e1'] --- là cái gì z?

06.07.2015 / 10:46
thaian2009
Bài đăng: 709
Member

$txt=str_replace("#_wml_1.1#","\<?xml version=\"1.0\" encoding=\"utf-8\"?\>\<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org\/DTD\/wml_1.1.xml\"\>",$txt);

06.07.2015 / 10:47
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Là văn bản post, tức là code ta chỉnh sửa gửi lên =))

06.07.2015 / 10:53
thaian2009
Bài đăng: 709
Member

function repl($txt) {

$txt=preg_replace_callback("~#_new_line_\[(\d*)\]#~",rept,$txt);

$txt=preg_replace_callback("~#_copy_\[(\d*)\]#~",lcopy,$txt);

$txt=preg_replace("~#_new_line#~","\r\n",$txt);

$txt=preg_replace("~[^\n]*#_del_line#[^\n]*\n?~","",$txt,1);

$txt=str_replace("#_wml_1.1#",'\<\?xml version=\"1.0\" encoding=\"utf-8\"\?\>\<!DOCTYPE wml PUBLIC \"-\/\/WAPFORUM\/\/DTD WML 1.1\/\/EN\" \"http:\/\/www.wapforum.org\/DTD\/wml_1.1.xml\"\>',$txt);

$txt=str_replace("#_wml_1.2#",'\<\?xml version=\"1.0\" encoding=\"utf-8\"\?\>\<!DOCTYPE wml PUBLIC \"-\/\/WAPFORUM\/\/DTD WML 1.2\/\/EN\" \"http:\/\/www.wapforum.org\/DTD\/wml_1.2.xml\"\>',$txt);

$txt=str_replace("#_wml_1.3#","<\?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" \"http://www.wapforum.org/DTD/wml13.dtd\">",$txt);

$txt=str_replace("#_html_4.0#","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">",$txt);

$txt=str_replace("#_html_4.01#","<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">",$txt);

$txt=str_replace("#_wml_header#","header(\"Content-type: text/vnd.wap.wml; charset=utf-8\");",$txt);

$txt=str_replace("#_html_header#","header(\"Content-type: text/html; charset=utf-8\");",$txt);

$txt=str_replace("#_txt_header#","header(\"Content-type: text/plain; charset=utf-8\");",$txt);

$txt=str_replace("#_wml_begin#","<wml><card id=\"card1\" title=\"\"><p align=\"left\">",$txt);

$txt=str_replace("#_wml_end#","</p></card></wml>",$txt);

$txt=str_replace("#_html_begin#","<html><head><title></title><meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\"></head><body>",$txt);

$txt=str_replace("#_html_end#","</body></html>",$txt);

$txt=str_replace("#_html_css#","<link rel=\"STYLESHEET\" type=\"text/css\" href=\".css\">",$txt);

$txt=str_replace("#_php_location#","header(\"Location: http://\"); exit;",$txt);

$txt=str_replace("#_php_date#","date(\"d.m.Y, H:i:s\",mktime(date(\"H\")+0));",$txt);

$txt=preg_replace_callback("~#_(\d{1,3})#~",chars,$txt);

return $txt;

}

06.07.2015 / 10:54
thaian2009
Bài đăng: 709
Member

Hết lỗi rồi đó nhé, có mấy chỗ thêm dư ở <> có gì xóa dùm :v