当前位置: 首页 > 知识库问答 >
问题:

PHPis_file检测名称中带有句点的图像

韦鸣
2023-03-14

我有一个功能,检查是否存在图像文件。它适用于所有图像,除非文件名中有句点。文件名是用户上传的,许多文件名已经存在,但没有经过清理。这里有一个例子:

$img = 'nice_name.jpg'; // detects
$img = 'bad_name.7.jpg'; // doesn't detect

if (is_file($path . $img)) {
    return $path . $prefix . $img;
}

我不知道如何逃避或使它工作。我已经检查了两次,文件确实存在于该路径。该函数适用于同一文件夹中的其他图像名称。

编辑:这被标记为重复,并链接到一个关于上传文件的问题。我使用is_file()来检查文件是否已经存在。没有发生上载,文件在服务器上的名称中已经有了额外的“.”,所以这是一个不同的问题。

共有1个答案

宫弘亮
2023-03-14

您可以使用basename()获取文件名,然后对其进行处理,例如如果它包含句点,则重命名它。

$testfile = "test.7.img";
$extension = ".img";
$filename = basename($testfile, $extension);
if(strpos($filename,".") > 0) {
    $newname = str_replace(".","",$filename) . $extension ;
    rename($testfile,$newname);
}
//... then continue on with your code
 类似资料:
  • 问题内容: 我链接到允许在列名称中使用句点的ProficyHistorian。因为数据是以非DBMS格式存储的,所以我不能用来获取数据,因为表没有设置模式。因此,我必须使用四部分名称语法来获取数据。此示例有效: 但这失败,因为 ‘。’附近的语法不正确。 列的名称在哪里 关键字’from’附近的语法不正确 也会失败 。 关于如何使SQL Server将其视为专栏的任何想法? 编辑: Martins建

  • 问题内容: 我有带有“ operation.date”,“ operation.name”等列的mysql表。用我获取该表数据作为对象后,得到此信息(行的print_r): 我怎么存取权限,并和所有其他古怪的命名对象的属性? 问题答案: 在您的SQL查询中指定别名,例如 或访问这些属性, 或将对象强制转换为数组,如下所示:。

  • 问题内容: 我正在尝试反序列化JSON。我的根对象具有单个属性“ en.pickthall”。我正在使用动态类型读取JSON。我以为我可以取消“。” 在属性中,因为它是本地JSON文件,但是必须有某种方法可以访问此类属性 问题答案: C#没有任何引用标识符的方式。如果不是有效的标识符,则唯一的选择就是反射。 但是,您的JSON解串器返回的对象可能会更改了标识符,以使其在C#中可用- 您可能希望枚举

  • 问题内容: HTML规范允许在ID中使用句点(。): 但是,使用CSS ID选择器规则将 无法 正确匹配: ID选择器的CSS规范没有提到这种情况。因此,我假设它使用的是标记名和类选择器的组合?例如,CSS规则适用于类名称为的所有锚定标记(),例如。 是否可以有一个外部CSS文件规则,该规则通过其中包含句点的ID引用HTML元素? 我不希望这样,因为CSS规范指定CSS“标识符”不包含句点作为有效

  • 我在Python Pandas中使用一个数据框,该数据框的列名前缀为。我可以通过声明来访问给定的列。但是,当我尝试对其执行查询时,例如,它会抛出一个错误,即不是数据框的成员。 如何在名称前加上句点执行查询或其他类似操作? 此外,一些系列名称中也有空格。我假设带句点的列名的解决方案类似于包含空格的名称的解决方案。

  • 我有一个盒子的图像。我试图检测角点并从圆圈中标记这些角点。我正在为此使用以下代码: