繁体   English   中英

fopen和fwrite PHP的问题

[英]Issue with fopen and fwrite PHP

我在写入文件VarLog.txt时遇到问题,它不是只读的(在属性中),我正在尝试将变量或SQL查询作为字符串写入我创建的日志文件中,我还写了一个检查查看VarLog是否存在,如果不存在,则进行创建。 这是代码

   if (!file_exists( "VarLog.txt")) {
    $fh = fopen("VarLog.txt", 'w') or die("can't open file");
    fclose($fh);
}
function anti_injection($sql) {
   $fp = fopen("VarLog.txt", "a+");  
   $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
   $sql = trim($sql);
   $sql = strip_tags($sql);
   $sql = addslashes($sql);
   fwrite($fp, "SQL Query/String: $sql"); 
   fclose($fp);
   return $sql;
}

$ _POST变量的示例

anti_injection($_POST['email']);

除了首先检查文件是否存在并创建冗余文件外,代码本身不会出现任何错误。

  1. 删除文件VarLog.txt(如果存在)以排除所有权问题。
  2. 检查您的工作目录是什么。 现在您的路径不是绝对路径,因此将相对于当前工作目录的内容写入文件(使用getcwd()找出该路径是什么,然后在此处检查)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM