如何在PHP中的图像名称中添加文件夹名称(../../../)?

时间:2014-03-27 15:50:55

标签: php

我有一个类似于下面的code.php文件,可在-this-is-a-test-21.jpg文件夹中生成all-photos等图片。

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

1 个答案:

答案 0 :(得分:2)

如果您要求的是将目录分隔符放入文件名中,那么如上所述,您不能在文件名中拥有目录分隔符,无论您的系统是什么。您需要了解文件系统的工作方式,尤其是在Unix系统上。一切都是文件,文件是文件,文件夹是文件,打印机是文件,硬盘是文件。如果您将目录分隔符作为文件名的一部分,则会很混乱。

但......

如果您要求的是模仿文件名中的目录结构,用连字符替换目录分隔符,那么这是完全可能的,请尝试;

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

这将使您的图像带有路径,并为您提供一个新名称,其中包含现在用连字符而不是斜线分隔的路径元素。