有一个可读写的文件,但fopen返回false ...
if(is_readable($file)) echo 'readable ';
if(is_writable($file)) echo 'writable ';
$fp = fopen($file, 'a+');
var_dump($fp);
结果是
readable writable bool(false)
有什么想法吗?
确定它必须是权限,但在文件上尝试777并得到相同的结果。
答案 0 :(得分:16)
让我们尝试获取更多信息 什么
$file = 'p:\muh';
error_reporting(E_ALL);
ini_set('display_errors', true);
echo 'phpversion: ', phpversion(), "\n";
echo 'uname: ', php_uname("s r"), "\n"; // name/release of the operating system
echo 'sapi: ', php_sapi(), "\n";
echo $file, file_exists($file) ? ' exists' : ' does not exist', "\n";
echo $file, is_readable($file) ? ' is readable' : ' is NOT readable', "\n";
echo $file, is_writable($file) ? ' is writable' : ' is NOT writable', "\n";
$fp = fopen($file, 'a+');
if ( !$fp ) {
echo 'last error: ';
var_dump(error_get_last());
}
else {
echo "ok.\n";
}
打印?
答案 1 :(得分:0)
我遇到了同样的问题。就我而言,只需确保文件是:
C:\route\to\file\filename.EXTENSION
就我而言,我只是缺少 .PDF 扩展名,因此它将文件名解释为另一个子目录。