PHP - mkdir 文件错误



当我将文件提交到我的文件目录中时,我收到很多错误,例如

( !警告:mkdir((:C:\wamp64\www\MT\directory.php第 38 行中没有这样的文件或目录

( !警告:move_uploaded_file(devPacks/peopl39e_8503_cheese/0kk/1501471127_adc9ebd871a68b573fd928ebff5bb54b.png(:无法打开流:C:\wamp64\www\MT\directory.php 第 40 行中没有此类文件或目录

从目录中。我相信问题出在这一行代码中

$dir = "devPacks/" .$fullname."_".$userid."_".$username."/".$packname;

因为当我像这样排除"$packname"时

$dir = "devPacks/" .$fullname."_".$userid."_".$username."/".$packnames;

请注意,我在发送包名称*中添加了一个"s",我得到了这个

( !注意:未定义的变量:包名 C:\wamp64\www\MT\目录.php 在第 35 行

当我回显目录时,我得到这个"devPacks/peopl39e_8503_cheese/".所以我不确定发生了什么,但这是我的代码。

.PHP

<?php
if($_SERVER['REQUEST_METHOD'] =="POST"){
$currentDirectory = getcwd();
$userid = "8503";
$fullname = "peopl39e";
$username = "cheese";
$packname = "0kk";
foreach($_FILES['file']['tmp_name'] as $key => $error){
if ($error != UPLOAD_ERR_OK) {
$errors[] = $_FILES['file']['name'][$key] . ' was not uploaded.';
continue;
}
$file_tmp = file_get_contents($_FILES['file']['tmp_name'][$key]);
//keep only A-Z and 0-9 and everything else KILL
$file_name = preg_replace("/[^a-z0-9.]/", "_", strtolower($_FILES['file']['name'][$key]));
$file_name = strtotime("now")."_".$file_name;
$allowed =  array('gif','png' ,'jpg');
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
if(!in_array($ext,$allowed) ) {
die('error');
}
$dir = "devPacks/" .$fullname."_".$userid."_".$username."/".$packname;
if(is_dir($dir)==false){
mkdir($dir, 0777);
}
if(!move_uploaded_file($_FILES['file']['tmp_name'][$key],$dir.'/'.$file_name)){
die("File didn't send!");
}
}
echo $dir;
}
?>

试试

对于上传文件路径$_SERVER['DOCUMENT_ROOT'];

相关内容

最新更新