簡體   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