2011-10-12 49 views
0

(PHP> = 5) *假的藉口:我不是一個程序員,我剛學...和重新編號的文件

我在我的自定義閱讀一些文件'/ IMG' 目錄:

  • 0.jpg
  • 1.JPG
  • 2.JPG
  • .... JPG
  • 10.JPG

所以我就陣列();

我需要每個項目在陣列重命名根據它們的jQuery已知的ID(所有文件屬性在HTML表格單元設定,根據需要每一個都具有ID和類)。但最令我不安的是,我無法避免文件覆蓋。

E.g.我同時重命名這兩個1.JPG和3.JPG (使用jQuery我已經重新分配,其中內置的ID(和新的文件名,並通過形成): 1-ST文件有ID = 3, 3擋文件得到ID = 1 )

  • 1.JPG - > 3.JPG
  • ...
  • ...
  • 3.JPG - > 1.JPG

你會看到陷阱在哪裏。

所以,問題是: 我應該製作一個'/ temp'目錄以避免覆蓋並寫入它,以便稍後重命名()或mv()它們?或者有更多透明和更快的方法來做同樣的事情?

回答

0

有幾種方法可以做到這一點:

  • 移動3.JPG來臨時,DIR
  • 重命名1.JPG到3.JPG
  • 重命名3.JPG到1.JPG
  • 移動臨時/ 1.JPG迴文件夾

  • 重命名3.JPG到3.JPG〜
  • 重命名1.JPG到3.JPG
  • 重命名3.JPG〜於1.JPG

  • 負載3.JPG內存
  • 重命名1.jpg爲3.jpg
  • 創建一個文件1.jpg與舊的內容3。JPG(存儲在你的內存)

有可能有更多的方法,但我認爲這是最好的。希望它有幫助:)

-Edit- 我認爲最後一個是最快的,但它消耗的內存最多。如果你不喜歡那樣,我會用第二個。但這是你的選擇:)

+0

謝謝,* Sietse *! OK。 stackoverflow不會識別任何'Enter'作爲回車,而不是新行。好。我會做多個Shift + Enter來休息。 請稍後再看看。 –

+0

爲什麼我問這是減少內存/ CPU使用率的方法。如果沒有辦法,我會使用'/ temp'dirextory來存儲所有新命名的文件,然後我將它們複製到工作目錄。 Thanx提前。至少有一個人回答(馬上,謝謝!)。 –

-1

This包可以使用幾種策略重命名目錄中的文件。它可以遞歸地遍歷一個目錄,並根據幾種不同類型的策略重命名文件。每個策略都定義了每個文件應該如何重命名。

目前有幾種類型的策略被實現,如不同成語的名稱和帶有時間值的前綴名稱的音譯。其他策略可能會被註冊。

重命名的文件可能被複制到一個單獨的目錄。 該類還可以生成關於重命名文件的CSV格式的報告。