使用PHP将文件排序到目录中

时间:2014-01-12 19:17:44

标签: php sorting directory

我希望在上传订单,第一年,然后一个月,然后一天后对我的.txt文件进行排序。

我的文字格式为:YYYY-MM-DD-40-numbers and letters.txt
(例如:2014-01-12-a23ert78df23456ewr91234df789dfh456hj912er.txt

这是我想要的目录结构:

  • 2014
    • 01
      • 01
      • 02
      • 03
      • ...
    • 02
    • 03
    • ...

如果目录不存在,脚本应该创建一个。

现在我想把它放到我原来的PHP脚本中:

<?php
$uploaddir = './';
$file = basename($_FILES['userfile']['name']);
$uploadfile = $uploaddir . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Datei erfolgreich erhalten: $file";
}
?>

1 个答案:

答案 0 :(得分:0)

这应该让你前进:

// Assuming $file is 2014-01-12-a23ert78df23456ewr91234df789dfh456hj912er.txt
$date = substr($file, 0, 10); // 2014-01-02
$path = str_replace("-","/",$date); // 2014/01/02
if(!is_dir($uploaddir . "/" . $path)) {
    mkdir($uploaddir . "/" . $path, 0777, true); // Third param 'true' makes this recursive
}

// Now the folder exists, you can move your file
$uploadfile = $uploaddir . "/" . $path . "/" . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Datei erfolgreich erhalten: $file";
}

您想要添加此内容,以便进行错误检查(确保您已成功创建目录)等等。但这是您正在寻找的方法。