mae*_*y m 2 php uploading mkdir
对于上传,我想检查年文件夹和月子文件夹是否已经存在。如果没有,我想创建它们并将我的上传保存在那里。
<?php
$newname = $_POST['changename'];
$temp = explode(".", $_FILES["uploadfile"]["name"]);
$extension = end($temp);
if(!(
$_FILES['uploadfile']['type']=='image/jpeg' ||
$_FILES['uploadfile']['type']=='image/png' ||
$_FILES['uploadfile']['type']=='image/gif' ||
$_FILES['uploadfile']['type']=='image/bmp'
)) // if file does not equal these types, kill it
{
echo $_FILES['uploadfile']['type'] . " is not an acceptable format.";
die();
}
if ($_FILES["uploadfile"]["size"] > 20000000)
{
echo "File too big. Max 20mb";
die();
}
if ($_FILES["uploadfile"]["error"] > 0)
{
echo "Return Code: " . $_FILES["uploadfile"]["error"] . "<br>";
}
else
{
$new_file_name = $newname.".".$extension;
$path = "uploads/".$new_file_name;
move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$path);
echo json_encode(array(
"success" => true,
"imagepath" => $path,
"filetype" => $_FILES["uploadfile"]["type"],
"new_file_name" => $newname,
"fileName" => $_FILES["uploadfile"]["name"],
"fileTmp" => $_FILES["uploadfile"]["tmp_name"],
));
}
?>
Run Code Online (Sandbox Code Playgroud)
去这样的事情:
$year = date("Y");
$month = date("m");
$filename = "../".$year;
$filename2 = "../".$year."/".$month;
if(file_exists($filename)){
if(file_exists($filename2)==false){
mkdir($filename2,0777);
}
}else{
mkdir($filename,0777);
}
Run Code Online (Sandbox Code Playgroud)
您必须根据您拥有的目录结构调整此代码。它向您展示了检查文件或目录是否存在的基本思想,如果不存在,那么它将为您创建。
根据您的需要调整您的代码,应该是这样的(未测试):
$path = "uploads/";
$year_folder = $path . date("Y");
$month_folder = $year_folder . '/' . date("m");
!file_exists($year_folder) && mkdir($year_folder , 0777);
!file_exists($month_folder) && mkdir($month_folder, 0777);
$path = $month_folder . '/' . $new_file_name;
Run Code Online (Sandbox Code Playgroud)
注意:把它放在正上方
move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$path);
Run Code Online (Sandbox Code Playgroud)