2011-06-02 113 views
-2

我有很多文件夾,每個文件夾都包含兩個文件:一個被稱爲thumb,但擴展名未知,另一個我不知道。我的問題是我怎麼能得到未知圖像的路徑?下面是該腳本:確定文件夾中未知文件的名稱

$path = 'images/2011/May/30/brfZ0ehnBKO/thumb.jpg'; 
$pathtofile = substr($path, 0, -9); //images/2011/May/30/brfZ0ehnBKO/ 
$thumbz = $pathtofiles."thumb"; 
$all = glob('$pathtofiles*.*'); 
$zip = glob('$thumbz*.*'); 
$remaining = array_diff($all, $zip); 

$thefile = ???; 

我想$ thefile等於其他文件...

+3

*是什麼*錯誤的PHP腳本?它不起作用嗎?如果是,會發生什麼? – 2011-06-02 17:13:06

+0

在你的第一行做類似你做的事情是合法的嗎?我的意思是一個沒有任何引號的字符串 – Dalen 2011-06-02 17:13:09

+0

$ path來自數據庫我只是簡化了它 – faq 2011-06-02 17:14:46

回答

2
$pathtofile = dirname('images/2011/May/30/brfZ0ehnBKO/thumb.jpg'); 

if ($handle = opendir($pathtofile)) { 
    while (false !== ($file = readdir($handle))) { 
     if(strpos($file, 'thumb') !== 0) { 
      $thefile = $file; 
      break; 
     } 
    } 
    closedir($handle); 
} 

var_dump($thefile); // null if no such file 
+0

好的方法,我喜歡它 – 2011-06-02 17:37:29

0

請確保您的字符串中試圖輸出的變量值時使用雙引號:

$all = glob("$pathtofiles*.*"); 
$zip = glob("$thumbz*.*"); 

看看是否有幫助:)