【问题标题】:How to add extension to img src directory when uploaded file's name changed?上传文件名更改时如何向 img src 目录添加扩展名?
【发布时间】:2015-08-13 13:16:57
【问题描述】:

我有一个用于上传用户文件的表单的 php 脚本(将文件带到一个目录并使用数据库表中该图像的 id 更改它的名称,同时保持扩展名)和一个 while 循环,它显示来自 2 个不同的结果表。在这个 while 循环中尝试将图像显示为链接。

我在下面临时编写了代码,用于将“.jpg”扩展名添加到图像源目录。 bcs ".$row['ID']" 只返回 ID 号,不返回扩展名。

将文件的扩展名添加到源目录有什么好方法,怎么做?

请记住,我是 php 的初学者,我想通过代码的解释来学习。比如哪个字符串用于什么,哪个方法用于什么..

非常感谢您的宝贵时间。

<a href="#"><img src= "./images/<?php echo $row['ID']; ?>.jpg" alt="no image"/></a>

【问题讨论】:

  • 好像没问题。你从浏览器的源代码中得到了什么?
  • 没有代码正在工作,但它只适用于“.jpg”,但我实际上希望这段代码找出当前文件的扩展名。我应该在表中添加另一列以注册它的新名称并使用 $row 来显示该列吗?这是一种有效的方法吗?
  • 那么您是否希望它检查图像是否不是 .jpg(例如 .png)?不太了解您的目标是什么。
  • 假设当用户上传这个文件时它的名字是“momo_3124134.png”;我将此名称注册到数据库中的表中,并将自动递增列的值作为名称提供给上传的文件。假设它是表上的第 444 个文件,所以它的目录中的新名称就像这样“/images/444.png”现在当我使用 while 循环显示结果时,我使用问题中的代码,它只获取 ID 号和没有扩展名。所以如果我不添加“.jpg”字符串,我自己的文件就不会出现。我希望它自动获取扩展名。
  • 您可以在使用 move_uploaded_file() 功能到数据库之前更新图像的名称,然后尝试从数据库中获取它。

标签: php html file file-upload


【解决方案1】:

我猜这有点像你的桌子

id       filename
---      --------
444      momo_3124134.png

在这种情况下,您可以在 while 循环中访问列 id 和“文件名”。使用以下代码获取文件扩展名并相应地显示文件。

<?php
  $filename = 'momo_3124134.png';
  $id = 444;
  $path_parts = pathinfo($filename);
  $filename_to_display = $id.'.'.$path_parts['extension'];
  echo $filename_to_display;
?>

【讨论】:

  • 是的,这很好用,正是我想要的。非常感谢你,一旦我获得 15 名声望,我也会投票给你的答案。
猜你喜欢
  • 1970-01-01
  • 2020-06-04
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多