我一直在尝试按照特定结构创建一个目录,但似乎没有任何事情发生。我通过定义多个变量来解决这个问题:
$rid = '/appicons/';
$sid = '$artistid';
$ssid = '$appid';
$s = '/';
并且我一直在使用的功能如此运行:
$directory = $appid;
if (!is_dir ($directory))
{
mkdir($directory);
}
有效。但是,我希望在创建的目录中具有以下结构: / appicons / $ artistid / $ appid /
但似乎没有任何效果。我明白,如果我要向$ directory添加更多变量,那么我必须使用它们周围的引号并将它们连接起来(这会让人感到困惑)。
有没有人有任何解决方案?
答案 0 :(得分:3)
$directory = "/appicons/$artistid/$appid/";
if (!is_dir ($directory))
{
//file mode
$mode = 0777;
//the third parameter set to true allows the creation of
//nested directories specified in the pathname.
mkdir($directory, $mode, true);
}
答案 1 :(得分:0)
这应该做你想要的:
$rid = '/appicons/';
$sid = $artistid;
$ssid = $appid;
$s = '/';
$directory = $rid . $artistid . '/' . $appid . $s;
if (!is_dir ($directory)) {
mkdir($directory);
}
您当前代码无效的原因是您尝试在字符串文字中使用变量。 PHP中的字符串文字是用单引号('
)括起来的字符串。此字符串中的每个字符都被视为一个字符,因此任何变量都只会被解析为文本。取消引用变量以使您的声明看起来像以下内容修复了您的问题:
$rid = '/appicons/';
$sid = $artistid;
$ssid = $appid;
$s = '/';
下一行将您的变量连接(连接)到路径中:
$directory = $rid . $artistid . '/' . $appid . $s;
答案 2 :(得分:0)
连接就像这样
$directory = $rid.$artistid."/".$appid."/"
答案 3 :(得分:0)
当您将一个变量分配给另一个变量时,您不需要它周围的引号,因此以下内容应该是您正在寻找的内容。
$rid = 'appicons';
$sid = $artistid;
$ssid = $appid;
然后......
$dir = '/' . $rid . '/' . $sid . '/' . $ssid . '/';
if (!is_dir($dir)) {
mkdir($dir);
}