我有一个类似于下面的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
。
答案 0 :(得分:2)
如果您要求的是将目录分隔符放入文件名中,那么如上所述,您不能在文件名中拥有目录分隔符,无论您的系统是什么。您需要了解文件系统的工作方式,尤其是在Unix系统上。一切都是文件,文件是文件,文件夹是文件,打印机是文件,硬盘是文件。如果您将目录分隔符作为文件名的一部分,则会很混乱。
但......
如果您要求的是模仿文件名中的目录结构,用连字符替换目录分隔符,那么这是完全可能的,请尝试;
$image_name = str_replace(DIRECTORY_SEPARATOR, "-", $image_prefix_original);
这将使您的图像带有路径,并为您提供一个新名称,其中包含现在用连字符而不是斜线分隔的路径元素。