你好,我在获取file_get_contents()时遇到问题;返回一个字符串,如果我对实际的Web服务器上的文件使用此函数它工作正常,但如果在Web服务器上工作的文件现在移动到我的个人计算机c:/ drive然后file_get_contents();不再工作....我已经尝试添加一个ini_set();包括没有用的路径。
除非我错过了什么,否则在PHP方面缺乏绝对准确的文档会让人感到慌张。
我在这里阅读了文档 - > http://www.php.net//manual/en/function.file-get-contents.php和此处 - > http://www.php.net//manual/en/function.set-include-path.php也是。
这是我的代码:
<?php
ini_set("auto_detect_line_endings", true);
$db = mysqli_connect("localhost", "root","pass", "DB");
if(mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_errno();
}
$SQL_query = "SELECT text FROM table";
$query = mysqli_query($db, $SQL_query);
echo getcwd();
$file_path = "C:\folder\file.txt";
echo file_get_contents($file_path);
while($result = mysqli_fetch_array($query))
{
echo $result["username"] . " ";
if(strstr($file, $result["username"]))
{
echo "Hello this is equal!";
}else {
echo"this is not equal!"
}
}
答案 0 :(得分:1)
由于反斜杠是转义字符,因此您将转义该字符串中的f
字符。结果是C:folderfile.txt
。
每次要使用它时都需要加倍反斜杠(换句话说,你必须用反斜杠转义反斜杠):
$file_path = "C:\\folder\\file.txt";
chandlermania建议使用DIRECTORY_SEPARATOR
常数更好
$file_path = "C:" . DIRECTORY_SEPARATOR . "folder" . DIRECTORY_SEPARATOR . "file.txt";