2014-03-31 61 views
0

我想讀取某個目錄的所有內容。我有下面的函數循環遍歷目錄並排列所有內容。唯一的問題是,我一直在爲每個文件和目錄獲取filemtime(): stat failedfilesize(): stat failed。我試圖尋找解決方案,但沒有發現我的工作。我認爲這可能是一個權限問題,但我可以從我正在安排的目錄讀寫,所以這不是問題。有誰知道我該如何解決這個問題?filemtime()和文件大小()PHP錯誤

public function arrangeContents() 
    { 
     $currDir = opendir($this->path); 

     while($entryName = readdir($currDir)) 
     { 
      $this->content[] = $entryName; 
     } 
     closedir($currDir); 

     $this->content_count = count($this->content); 

     for($i = 0; $i < $this->getContentCount(); $i++) 
     { 
      $this->names[] = $this->content[$i]; 
      $this->name_hrefs[] = $this->content[$i]; 

      $this->extns[] = $this->findExts($this->content[$i]); 

      $this->file_sizes[] = number_format(filesize($this->content[$i])); 

      $this->mod_times[] = date("M j Y g:i A", filemtime($this->content[$i])); 
      $this->time_keys[] = date("YmdHis", filemtime($this->content[$i])); 

      $this->sortContents($this->content[$i]); 
     } 
    } 
+0

你給函數* full *路徑和文件名嗎? –

回答

0

我修復了這個問題,因爲我沒有在文件前加上路徑。

如果我只是把$this->dir . '/' . $this->content[i]放在每個函數中,它給了我一切正確。

0

您正在獲取文件路徑錯誤或者您無權統計相關文件。

  1. 對於路徑,嘗試使用DIR不變或$ _ SERVER [「DOCUMENT_ROOT」]制定出完整的路徑

  2. 對於許可,文件中必須由用戶讀取其下PHP。嘗試用777測試一個文件夾來證明權限是問題。