我正在尝试使用PHP创建一个目录:
<?php
$uid = "user_615";
$thisdir = getcwd();
if(mkdir($thisdir ."/userpics/" . $uid , 0777))
{
echo "Directory has been created successfully...";
}
else
{
echo "Failed to create directory...";
}
?>
但这不起作用
<?php
session_start();
$uid = $_SESSION['username'];
$thisdir = getcwd();
if(mkdir($thisdir ."/userpics/" . $uid , 0777))
{
echo "Directory has been created successfully...";
}
else
{
echo "Failed to create directory...";
}
?>
是的,会话变量的填充与上面的'user_615'完全相同,那么为什么第二个会失败呢?
修改
所以我接受了@stefgosselin的建议并重新设计了代码
<?php
session_start();
$uid = $_SESSION['username'];
$thisdir = getcwd() . "/userpics" . $uid;
if(mkdir($thisdir , 0777))
{
echo "Directory has been created successfully...";
}
else
{
echo "Failed to create directory...";
echo "Your thisdir Variable is:'" . $thisdir . "'" ;
}
?>
输出
创建目录失败...您的thisdir变量是:'/ unified / b / bis / www.mysite.com / jou / userpics / user_615
关于什么会导致Session变量无法用于创建目录的任何其他想法?
答案 0 :(得分:2)
作为一个小技巧,我只需将所有$thisdir
放入一个变量中,并检查其输出是否与您期望的结果相加。
IE:在变量中定义$thisdir ."/userpics/" . $uid
将使您可以轻松输出并验证要传递给mkdir
的参数值。
编辑:调整较小的措辞以获得更好的英语翻译。对不起,上面不清楚,韦斯利明白我笨拙地试图做的简单点。