中重命名來刪除映像名稱中的時間戳。如果我需要重命名像這樣的文件「file.d20140220-u162540.jpg」,使用php重命名功能將文件重命名爲「file.jpg」,語法是什麼?我嘗試重命名(「.d」,「* .jpg」);但這並不奏效,我猜測這是預期的,但我想知道正確的語法是什麼。提前謝謝了!通過在php
Q
通過在php
0
A
回答
0
您可以使用substr_replace
如果只是(你的情況),每次17個字符時,file
和jpg
$stringToReplace = 'file.d20140220-u162540.jpg';
$string = substr_replace($stringToReplace, "", 4, 18);
echo $string;
之間
輸出:file.jpg
更新:
所以,所有的文件都*.d20140220-u162540.jpg
那麼你可以像這樣:
$stringToReplace = "opening-ceremony-600x450.d20140220-u162540.jpg";
// Get the length from file
$removeTimestamp = strlen($stringToReplace);
// (d20140220-u162540.jpg === 21)
$removeTimestamp = floor($removeTimestamp - 21);
$example_1 = substr_replace($stringToReplace, "jpg", $removeTimestamp);
echo "Example 1: ".$example_1."\n\n";
$stringToReplace = "marc-by-marc-jacobs-13-black-136831_3-90x90.d20140220-u071915.jpg";
$removeTimestamp = strlen($stringToReplace);
$removeTimestamp = floor($removeTimestamp - 21);
$example_2 = substr_replace($stringToReplace, "jpg", $removeTimestamp);
echo "Example 2: ".$example_2;
輸出:
例1:開放式-600x450.jpg
例2: marc-by-marc-jacobs-13-black-136831_3-90x90.jpg
0
感謝您的幫助!我終於通過添加if語句來過濾掉所有受影響的文件,然後使用您的代碼重命名它。代碼如下:
$關鍵是文件名
if (strpos($key, '.d201402') !== FALSE){
$stringToReplace = $key;
$removeTimestamp = strlen($stringToReplace);
$removeTimestamp = floor($removeTimestamp - 21);
$keytemp = substr_replace($stringToReplace, "jpg", $removeTimestamp);
$grants = $s3->putObject(
array('Body' => file_get_contents("https://your-bucket-name.s3-us-west-2.amazonaws.com/".$key, 'r'),
'Bucket' => $args['bucket'],'Key' => $keytemp, 'ACL' => 'public-read','ContentType' => 'image/jpeg'));
echo 'Filename replaced - ';
echo $keytemp,"\n";
}
相關問題
- 1. 通過在PHP
- 2. 在通過PHP
- 3. 通過頭在PHP
- 4. 通過mysql_fetch_array在PHP
- 5. 通過PHP在iphone
- 6. 通過PHP運行Javascript通過PHP
- 7. 在session_start()通過PHP在IE8
- 8. 通過php在html中顯示數據通過php
- 9. 如何通過在PHP
- 10. 如何通過ID在PHP
- 11. 如何通過在MySQL/PHP
- 12. 重定向通過在PHP
- 13. 數,通過與Max在PHP
- 14. 試圖通過在PHP
- 15. 在php中通過JS值
- 16. 的foreach通過JSONArray在PHP
- 17. 如何通過串在PHP
- 18. 如何通過@在PHP
- 19. 如何在MySQL通過PHP
- 20. 組陣列通過在PHP
- 21. 如何通過DOM在PHP
- 22. 通過Php
- 23. 通過PHP
- 24. 通過PHP
- 25. 通過PHP
- 26. 通過PHP
- 27. 通過PHP
- 28. 通過PHP
- 29. mysqldump通過PHP
- 30. PHP通過鍵
謝謝!例如,如果'file.d20140220-u162540.jpg'實際上是'opening-ceremony-600x450.d20140220-u162540.jpg',它會起作用嗎?我幾乎有一百萬個要通過,基本上標記爲'文件'的部分因每個圖像而異,'.2014 ....-'....... jpg'也因文件而異。顯示3個文件的例子我想改變的是:「marc-by-marc-jacobs-13-black-t-shirt_136831_3-900x675.d20140220-u071914.jpg」, 「marc-by-marc-jacobs-13- black-136831_3-90x90.d20140220-u071915.jpg「, 」marc-by-marc-jacobs-13-black-94x70.d20140220-u071914.jpg「 – user3387014
此外,並非目錄中的所有文件都有'.d20140220- u071914.jpg'風格的名字。有些沒問題,只有'.jpg'擴展名。這就是爲什麼我希望找到一種方法來選擇那些有時間戳的擴展名並修改名稱(可能使用通配符?)的方法。 – user3387014
我更新了我的答案 – aldanux