【问题标题】:change the image name in php在php中更改图像名称
【发布时间】:2011-05-30 09:35:35
【问题描述】:

你好我有以下代码来更改上传图片的图片名称

$TARGET_PATH="图片/"; $TARGET_PATH =$TARGET_PATH 。 basename($_FILES['photo']).'.jpg'; 而 (file_exists($TARGET_PATH)) { $TARGET_PATH =$TARGET_PATH 。基本名称($_FILES['photo'])。独特的()。 '.jpg'; }

这会更改图像或文件的名称,但不要显示扩展名,它只在名称末尾显示点 (.),即 1=>file。
2=>filefile9534803。

【问题讨论】:

  • 您需要为此添加更多上下文。如果文件存在,肯定会添加 .jpg 扩展名,但整个代码似乎还没有意义 - 结果将是一团糟
  • 你为什么不断地把$TARGET_PATH附加到自己的后面?
  • 现在我编辑我的问题目标路径是目录名称实际上我想将来自客户端(ipod)的图像保存到服务器上的目录和数据库路径中,如果有图像与它可以通过 uniqid() 更改名称相同的名称。
  • 如果文件存在,“while循环”是一个永无止境的循环,使用“if”语句代替“while循环”
  • 这不是ykartal的问题,实际上我想获得图像的扩展

标签: php


【解决方案1】:
// $original = '/tmp/file.jpg';

$dir = 'foo' . DIRECTORY_SEPARATOR;
$file = pathinfo($original);

do {
    $target = $dir . $file['filename'] . uniqid() . '.' . $file['extension'];
} while (file_exists($target));

echo $target; // foo/file4b3403665fea6.jpg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 2018-10-05
    • 2011-08-17
    • 1970-01-01
    • 2023-04-10
    • 2016-01-04
    • 2021-07-08
    相关资源
    最近更新 更多