Fopen() return false


Fopen() return false

$mId = 36008;
$path = "message/piece_jointe/$mId/test-fo.pdf"; 
$fp = fopen ($path, 'w+');

$fp返回假。但是,当我省略 ih $mid路径变量时,它可以正常工作。谁能帮我。

如果您使用的是旧版本,请使用带有 __DIR__dirname(__FILE__) 的绝对路径。如果用变量替换路径的一部分,请耐心等待。这可能会带来一些安全问题。

我的猜测是你没有"message/piece_jointe/36008/"目录,你必须首先使用"mkdir",因为如果这些目录不存在,fopen 不会创建这些目录

你可以使用这样的东西:

<?php
$mId = 36008;
$filename = "test-fo.pdf";
$directory = "message/piece_jointe/$mId/";
$path = $directory.$filename; 
if (!is_dir($directory)) {
    mkdir($directory);
}
$fp = fopen ($path, 'w+');
?>