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

时间:2018-03-13 10:32:57

标签: php html apache lamp

对不起打扰,我试图在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连接访问这些文件夹时,它显示&#34; Directory / xxx / www / xxx / Aquarius :没有这样的文件或目录&#34; 即使该目录上有文件夹图标。

我尝试通过Ubuntu命令行连接到我的服务器,cd到该专用目录并输入ls命令, 它显示了我刚创建的所有文件夹&#34; ??&#34;在文件夹名称后面标记。 我无法删除文件夹或访问该文件夹。

我已经花了一整天的时间来找不到答案。 如果有人能帮助我,我们将非常感激。

1 个答案:

答案 0 :(得分:0)

我怀疑你有隐藏的字符,让可怕的名字搞砸了。如果该文件是在Windows上创建的,可能\ r \ n。

创建文件夹之前每行的trim()可能是一个很好的修复。

现在要删除名称奇怪的目录,请查看ls -i以显示inode编号,并find -inum <NUMBER> -exec rmdir {} \;将其清除。