【发布时间】:2014-01-05 21:04:49
【问题描述】:
我正在上传单个类别中的多张图片,我想将每组图片存储在我的“images/”目录中的一个唯一目录中,如下所示:
'images/unique_category/image1.jpg'
我有以下代码,但它没有创建目录。我怀疑这与将递归参数设置为“真”有关,我相信我已经这样做了。我是不是用错了 mkdir 函数?
谢谢!
$unique_directory = "../images/".$_POST['item_name'];
if (is_dir($unique_directory)
{
move_uploaded_file($_FILES["file"]["tmp_name"],
$unique_directory."/".$_FILES["file"]["name"]);
echo "Stored in: " . $unique_directory."/".$_FILES["file"]["name"];
}
else
{
mkdir($unique_directory, 0777, true);
move_uploaded_file($_FILES["file"]["tmp_name"],
$unique_directory."/".$_FILES["file"]["name"]);
【问题讨论】:
-
您的 PHP 错误日志中是否有任何错误?
-
一方面,您在
move_uploaded_file($_FILES["file"]["tmp_name"],的末尾有一个逗号,它应该以分号move_uploaded_file($_FILES["file"]["tmp_name"];结尾但是它并不止于此;那个逗号可能是有原因的,你没有告诉它放在哪里。尝试先用分号替换它。 -
@Fred-ii- 你刚才放在那里的东西会导致错误。他的语法是正确的。第一个参数是文件名,第二个是新的目的地。
-
是的,我在错误日志中确实有错误:PHP 警告:mkdir(): Permission denied in /Applications/MAMP/htdocs/PDO_test/php_scripts/upload_form.php on line 41 [05-Jan -2014 21:53:52 Europe/Berlin] PHP 警告:move_uploaded_file(images/Test/IMG_0003.JPG):无法打开流:/Applications/MAMP/htdocs/PDO_test/php_scripts/upload_form.php 第 43 行的权限被拒绝[05-Jan-2014 21:53:52 Europe/Berlin] PHP 警告:move_uploaded_file():无法在 /Applications 中将“/Applications/MAMP/tmp/php/phpBDODjp”移动到“images/Test/IMG_0003.JPG” /MAMP/htdocs/PDO_test/php_scripts/upload_form.php on
-
是的,我的错。现在才注意到@Anyone 看到两条这样的线,一条在一条下面,感到很困惑。
标签: php mkdir directory uploading