代码之家  ›  专栏  ›  技术社区  ›  Jeff Lin

已在LAMP服务器上创建批处理文件夹,但无法访问

  •  0
  • Jeff Lin  · 技术社区  · 7 年前

    很抱歉打断您,我正试图在LAMP服务器上使用PHP代码创建批处理文件夹。我的代码附在下面:

    enter code here
    
    
    <?php
    
     **//sample .html template** 
    
     $out1 = 
     "<html>
      <head>
      <title>Test Page</title>
      </head>
      <body>
        GGYY der 
      </body>
      </html>";
    
     **//fetch folder names from .txt file under my website main directory**
    
     $file_name="DirName.txt";
     $fp=fopen($file_name,'r');
     $content = array();
     $i =0;
     while(!feof($fp)){ 
     $buffer=fgets($fp,4096);
     $content[$i]=$buffer;
     $i++;
     }
    
     **//create folders base on $content size**
    
     for($j=0; $j<sizeof($content); $j++){
       if(mkdir($content[$j],0777))
         echo "folder created"."<br>";
       else
         echo "fail to create"."<br>";
    
     **//create a .html file in created folder** 
     $mycat  = fopen ("./$content[$j]/mycat.html","w");
    
     **//use copy template into mycat.html** 
     fwrite($mycat, $out1);
     fclose ($mycat);
     echo "Success";    
     }
     fclose($fp);
     ?>
    

    根据我的代码,似乎我一次单击就创建了几个文件夹,但当我尝试通过SSH FTP连接访问这些文件夹时,它显示“目录/xxx/www/xxx/Aquarius:没有这样的文件或目录” 即使该目录上有文件夹图标。

    我试图通过Ubuntu命令行连接到我的服务器,cd到那个专用目录,然后输入ls命令, 它显示了我刚刚用“”创建的所有文件夹在文件夹名称后面进行标记。 我既不能删除该文件夹,也不能访问该文件夹。

    我已经花了一整天的时间在这个问题上,找不到答案。 如果有人能帮助我,我将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nic3500 tpdi    7 年前

    我怀疑你在那里藏了一些使可怕的名字一团糟的魔咒。如果该文件是在Windows上创建的,则可能是\r\n。

    在创建文件夹之前对每行进行修剪()可能是一个很好的修复方法。

    现在要删除具有奇怪名称的目录,请查看 ls -i 显示inode编号,以及 find -inum <NUMBER> -exec rmdir {} \; 把它们冲出来。