我正在尝试使用文本文件创建一个下拉列表,其中逐行列出了单独的国家/地区。
问题在于,无论出于何种原因,我的文件都拒绝打开。
以下是代码:
<?php
$path = realpath(dirname(__FILE__));
require_once('upload.controller.php');
$filePath = $path.'/../includes/_notes/countries.txt';
$handle = fopen($filePath, "r");
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../includes/css/adsmanager.css" />
<script type="text/javascript" src="../includes/js/.."></script>
</head>
<body>
<!--<form method="post" action="upload.controller.php">-->
<!--<select>
<script type="text/javascript" src="includes/js/countries.js" /></script> -->
<?php
if ($handle) {
while(($buffer = fgets($file)) != false) {
var_dump($buffer);
}
if (!feof($handle)) {
die("failed to open file");
}
}
fclose($handle);
?>
<!--</select>
</form>-->
</body>
</html>
连同我的输出:
string(66) "/var/www/patention/modules/upload/../includes/_notes/countries.txt" failed to open file
我做错了吗?我从直接列出的例子中拿走了 PHP Manual。与this一起。
答案 0 :(得分:1)
您的文件路径对我来说似乎不对:
"/var/www/patention/modules/upload/../includes/_notes/countries.txt"
..
用于相关目录。
如果countries.txt
位于includes/_notes/
内且includes
位于.php脚本所在的父目录中,请将路径更改为
../includes/_notes/countries.txt
简而言之,请勿将$path
追加到$filePath
修改强>
在这一行:
while(($buffer = fgets($file)) != false)
更改为
while(($buffer = fgets($handle)) != false)