我似乎在使用变量通过 mkdir() 函数创建目录时遇到问题。正在从 URL 解析变量。请参阅下面的编码:
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
$pageURL;
$url = $pageURL;
$parse = parse_url($url);
$dirID = $parse['query'];
我使用 define() 来定义文件夹路径,因为该路径在整个代码中多次使用:
define("DESTINATION_FOLDER", "mydir/".$dirID."/");
这是 if 语句,告诉它如果目录不存在则创建目录:
if (!@file_exists(DESTINATION_FOLDER)) {
mkdir(DESTINATION_FOLDER);
}
听起来很简单,但由于某种原因,变量 $dirID 没有被读取,而是将文件上传到 mydir 目录。真正奇怪的是,如果我将变量硬编码为 $dirID = "28" 之类的东西,它会起作用,并且文件会像 mydir/28/file.jpg 一样上传。我以前多次使用这种方法传递变量,但从未传递要在 mkdir 函数中使用的变量。有谁知道可能会发生什么?
预先感谢您的任何帮助。