在PHP中将文本附加到文件名?

时间:2015-09-26 17:39:52

标签: php

您好:我对PHP比较陌生。我有一个包含16个.jpg文件的目录。 (例如:/ images / boxer1.jpg,boxer2.jpg等......)

作为更大的PHP文件复制和上传过程的一部分,我想通过在文件中附加_h来创建这些文件的第二个版本(例如:boxer1_h.jpg,boxer2_h.jpg等等);将新文件与原始文件保留在同一目录中,以便进一步操作。

使用PHP编程实现此目的的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用scandir获取目录中的文件列表。然后,只需将.替换为_h.,然后设置为:

$origFiles = scandir('/path/to/directory');
foreach ($origFiles as $origFile) {
    $destFile = $str_replace('.', '_h.', $origFile);
    copy($origFile, $destFile);
}

答案 1 :(得分:0)

Mureinik的答案是一个很好的解决方案,它会复制上传的文件并更改其名称。这是在上传过程中执行此操作的好方法。

您使用了

move_uploaded_file ($uploaded, 'path/to/uploads/'.$filename);

再次使用它:

move_uploaded_file ($uploaded, 'path/to/uploads/'.$str_replace('.', '_h.', $filename));

并且,假设您为上传的文件提供了正确的文件名,而没有任何其他DOTS,除了将扩展名与名称分开之外。