我有一个类似于下面的code.php
文件,在all-photos
文件夹中生成-this-is-a-test-21.jpg
等图像。
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
的图像名称。
如果您要求的是将目录分隔符放入文件名中,那么如前所述,无论您的系统上的目录分隔符是什么,都不能在文件名中使用目录分隔符。您需要了解文件系统是如何工作的,特别是在Unix系统上。一切都是文件,文件是文件,文件夹是文件,打印机是文件,硬盘也是文件。如果您将目录分隔符作为文件名的一部分,那么它将是混乱的。
但是…
如果你想模仿文件名中的目录结构,用连字符替换目录分隔符,那么这是完全可能的,试试;
$image_name = str_replace(DIRECTORY_SEPARATOR, "-", $image_prefix_original);
这将获取带有path的图像,并为您提供一个包含路径元素的新名称,现在使用连字符而不是斜杠分隔。