2014-03-27 97 views
0

我有一個code.php文件類似下面其中在all-photos文件夾生成像-this-is-a-test-21.jpg圖像。如何將文件夾名稱(../../../)添加到PHP中的圖像名稱中?

foreach($original_images as $new_image) { 
---> some coding here 
$image_prefix_original = "-this-is-a-test-"; 
$rand = rand(1,100); 
---> some coding here also 
imagejpeg($new_image, $image_prefix_original .$rand.'.jpg'); 
} 

假設我執行code.php文件爲http://localhost/tests/photos-test/all-photos/code.php。我的問題是如何生成圖像名稱,如tests-photos-test-all-photos-this-is-a-test-21.jpg而不是-this-is-a-test-21.jpg

+0

我不明白,你是否要求你的目錄分隔符是連字符? –

+0

在大多數安裝中,'DIRECTORY_SEPARATOR'通常是'/'。你有沒有指定它是'-'? – BenM

+0

您不能在文件名中使用系統目錄分隔符。 –

回答

2

如果你所要求的是把目錄分隔成文件名,然後如說,你不能有目錄分隔符,不管它是什麼你的系統上,文件名內。你需要研究文件系統的工作方式,特別是在Unix系統上。一切都是文件,文件是文件,文件夾是文件,打印機是文件,硬盤是文件。如果您將目錄分隔符作爲文件名的一部分,那將是混亂的。

但...

如果你所要求的是模仿文件名中的目錄結構,用連字符代替目錄分隔符,那麼這是完全有可能,儘量;

$image_name = str_replace(DIRECTORY_SEPARATOR, "-", $image_prefix_original); 

這將需要你的形象與路徑,並給你含連字符代替斜槓現在分開了路徑元素的新名稱。

+0

感謝您的回覆,我編輯了這個問題,請你再回顧一下這個問題嗎? – Sami

+2

我有,我想你在問所有錯誤的問題。如果有一種更簡單的方法,你試圖以一種晦澀的方式來實現某些東西。另外,你不能使用rand生成文件名,因爲你很快會遇到衝突。您應該散列圖像,並使用它的散列作爲文件名,因爲碰撞的可能性是大數目。 –

相關問題