【问题标题】:Use PHP to sort files into directories使用 PHP 将文件排序到目录中
【发布时间】:2014-01-31 11:29:17
【问题描述】:

我想在上传后按顺序对我的.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";
}
?>

【问题讨论】:

    标签: php sorting directory


    【解决方案1】:

    这应该可以帮助您:

    // 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";
    }
    

    您需要添加到此内容,用于错误检查(确保您已成功创建目录)等。但这是您正在寻找的方法。

    【讨论】:

    • @user3188041 很高兴为您提供帮助。我最近才发现mkdir 具有递归选项,确保不必一次创建每个目录更容易。
    猜你喜欢
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2015-02-02
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多