2011-08-28 106 views
3

我想寫一個PHP文件mamanger,當我從「。」更改導演。以「../uploads/」,文件大小是給我這個錯誤:PHP文件大小錯誤

Warning: filesize() [function.filesize]: stat failed for zipped-file.zip in /f5/jb-cms-testing/public/edit/files.php on line 83

83號線是print(filesize($dirArray[$index]));(我知道這是孤獨無助,行號只是要關閉當我粘貼)

它準確地列出了文件名,但不是由於某種原因的大小。

這是一個完整的腳本:

  // open this directory 
      $myDirectory = opendir("../uploads/"); 

      // get each entry 
      while($entryName = readdir($myDirectory)) { 
       $dirArray[] = $entryName; 
      } 

      // close directory 
      closedir($myDirectory); 

      // count elements in array 
      $indexCount = count($dirArray); 
      Print ("$indexCount files<br>\n"); 

      // sort 'em 
      sort($dirArray); 

      // print 'em 
      print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n"); 
      print("<TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n"); 
      // loop through the array of files and print them all 
      for($index=0; $index < $indexCount; $index++) { 
        if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files 
        print("<TR><TD><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>"); 
        print("<td>"); 
        print(filesize($dirArray[$index])); 
        print("</td>"); 
        print("</TR>\n"); 
       } 
      } 
      print("</TABLE>\n"); 
+0

之前,這意味着,在文件'$ dirArray [$指數]'不存在。文件大小調用失敗時變量包含什麼? –

+1

如果文件確實存在,是否> 2GB? – b01

+0

1.我不知道,這是來自一個教程,我是PHP 2的新手。不,現在每個文件大約100kb,我不認爲它們會變得那麼大。 – JacobTheDev

回答

6

您正在打開的文件掃描../uploads/文件夾,但在當前工作目錄檢查文件大小。

這應該是有幫助的:

print(filesize('../uploads/' . $dirArray[$index])); 

這同樣適用於你的鏈接,他們需要的路徑校正工作。

+0

謝謝,那很完美。我會在幾分鐘內接受:) – JacobTheDev

0

您正在從當前工作目錄(../uploads)中讀取一個級別的目錄,然後在正在查找當前工作目錄中的文件的裸文件名上調用filesize()

前面加上../uploads/$dirArray[$index]調用filesize()