0
不知道你是否可以幫忙,我是新來的PHP和卡住了。我有大量文件看起來像這樣:PHP - 爆炸/移動/文件名
2014-04-01 NS122345 - 日期,人的姓名縮寫以及員工代碼。
我希望能夠將具有NS或JB或GA的文件移動到相關文件夾/目錄中。所以對於NS來說,它會進入Nathan Saunders文件夾,因爲JB會進入Joe Bailey文件夾。
有幾個人對我說要使用explode和substr來分割文件名,然後我猜想通過數組搜索。有人說這樣使用:
$array = explode(' ', $filename);
$firstTwoLetters = string substr ($array[1], 0, 2);
但我得到錯誤的變量文件名未定義。
不幸的是我沒有線索。我通過論壇搜索論壇和發佈帖子後,我已經跟從了這個至今:
if(JFile::exists($searchpath .DS. '.doc')){
JFile::move($searchpath .DS. '.doc', JPATH_BASE .DS. 'upload' .DS. 'Nathan' .DS. '.doc'); }
我的目錄結構是這樣的:
root/wan/upload - Where files/images/docs are stored. Inside upload folder i have:
>2014-04-08 NS6565.doc
>2012-01-03 JB8932.doc
>2013-02-01 GA5434.doc
>etc
root/wan/administrator/components/com_upload - where my code is stored
問題是,我有幾百萬的這些文件,而我在上面給出的例子開始時的日期將會改變。
我試圖把它們放入數組,但在那裏不知道如何再拆/調用正確的擺在正確的文件夾:
嘗試 - 陣列
$dir = JPATH_BASE . DS . "upload";
$basename = basename($dir);
$array = scandir($dir);
$filename = basename($dir[0]);
print_r($array);
print_r($basename);
任何幫助非常感激。或者,如果你可以指點我的例子/文檔,那會很棒。 。
感謝
該網頁似乎變成空白頁時,我加在上面所以運行它的PHP代碼檢查工具,它標誌了在:PHP語法檢查:解析如果(!is_file($ dir.DS. $ file){continue;} – Simpson 2014-10-27 14:29:01
)錯誤:語法錯誤,在第72行的代碼中意外的'{''''')。編輯的代碼。 – MIvanIsten 2014-10-27 14:38:31
OH WOW !!!!!!非常感謝你的工作。我只剩下一個錯誤:未定義偏移量:1行74,即:$ firstTwoLetters = substr($ array [1],0,2);. – Simpson 2014-10-27 14:45:05