【问题标题】:PHP mkdir of a SPLFileObjectSPLFileObject 的 PHP mkdir
【发布时间】:2014-07-23 19:22:35
【问题描述】:

我正在尝试使用此代码基于 TXT 文件创建 n 个目录:

<?php

$file = new SPLFileObject('/Applications/MAMP/htdocs/artists_report/2014/artists.txt');
foreach ($file as $line) {
    mkdir($line);
}

?>

我期望 mkdir 根据我在 Artists.txt

有什么想法吗?

【问题讨论】:

  • @RocketHazmat 可能无法工作,因为 Windows 上没有模式参数。
  • @Shawn:/Applications/MAMP。看起来像Mac。此外,recursive 参数在 Windows 上也可以正常工作。 mode 参数只是被忽略了。
  • 我认为这里发生了一些事情。第一个是 new SPLFileObject 将给出一个对象而不是字符串。第二个可能是该目录中的文件权限。
  • @RocketHazmat 没有意识到它在 Windows 中被忽略了。很高兴知道谢谢。
  • @Shawn: SplFileObject 是一个迭代器,所以它可以循环,就像这里所做的那样。我误读了这个问题。他想根据文件中的行创建文件夹。

标签: php mkdir splfileobject


【解决方案1】:

使用file 代替SPLFileObject

$file = file('/Applications/MAMP/htdocs/artists_report/2014/artists.txt');
foreach ($file as $line) {
    mkdir($line);
}

这假定artists.txt 中的每一行都是一个完整的路径名

【讨论】:

    【解决方案2】:
    <?php
    $filedirectory = '/Applications/MAMP/htdocs/artists_report/2014/';
    //read from your file using SPLFileObject
    ...some code that is setting $line with a value but converts back to a string...
    //i would make $line an array or something so you can simply do:
    
    foreach ($line AS $artist) {
        mkdir($filedirectory.$artist);
    }
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2017-08-18
      • 2012-09-24
      • 2011-02-21
      • 2011-12-14
      • 1970-01-01
      相关资源
      最近更新 更多