php检查文件是否在文件夹中

php检查文件是否在文件夹中,php,file-upload,file-io,directory,Php,File Upload,File Io,Directory,我正在写一个脚本,我想保存一个徽标图像。我为每个用户创建一个“logo”文件夹,例如用户数据/user_1/logo/img007.png 如果用户决定在一段时间后上传不同的图片,我会自动删除旧的图片,这样就不会不必要地浪费网络空间 到目前为止,我决定在上传过程中不重命名该文件,因此我不能在文件夹中使用file_exists(),因为脚本不知道文件名 我的问题是,在PHP中是否有一种方法可以检查特定文件夹中是否有任何文件,如果有,可以删除它 如果您认为我采取了错误的方法,例如,应该将所有文件重命

我正在写一个脚本,我想保存一个徽标图像。我为每个用户创建一个“logo”文件夹,例如用户数据/user_1/logo/img007.png

如果用户决定在一段时间后上传不同的图片,我会自动删除旧的图片,这样就不会不必要地浪费网络空间

到目前为止,我决定在上传过程中不重命名该文件,因此我不能在文件夹中使用file_exists(),因为脚本不知道文件名

我的问题是,在PHP中是否有一种方法可以检查特定文件夹中是否有任何文件,如果有,可以删除它


如果您认为我采取了错误的方法,例如,应该将所有文件重命名为相同的文件(我认为这是一个问题,因为我允许4种不同的通用图像格式),或者保存“现有”文件的文件名,并让脚本检查它,请告诉我。

您可以使用或。

您可以使用或。

我将创建一个文件夹
用户logo/
,并将每个logo存储为
[user name]\u logo.png
。你显然可以决定延期。但我不希望有数千个目录,每个目录只包含一个文件

如果您可以为每个徽标创建一个随机ID,例如
[random\u ID]\u logo.png
,并将该ID存储到用户表(数据库中)中,效果会更好:


然后从那里加载它。

我将创建一个文件夹
user\u logo/
并将每个logo存储为
[user name]\u logo.png
。你显然可以决定延期。但我不希望有数千个目录,每个目录只包含一个文件

如果您可以为每个徽标创建一个随机ID,例如
[random\u ID]\u logo.png
,并将该ID存储到用户表(数据库中)中,效果会更好:


然后从那里加载。

在手册中查找
glob()
opendir()
/
readdir()
scandir()
。为什么不重命名该文件?如果您知道要查找的位置,会使事情变得更简单。不重命名文件也会导致服务器出现安全问题。因此,您认为我应该重命名logo.jpg(扩展名根据原始文件)之类的文件,然后在循环中检查名为logo的文件是否具有.png、.gif、.jpg、,.jpeg是否存在于特定文件夹中?我建议使用命名功能,将用户ID设置为图像名称。然后,如果用户决定更新图像,将保留其文件名,而无需经过2-3个不同的过程(上载、删除、重新上载)。为什么不能重命名?任何特殊原因?请在手册中查找
glob()
opendir()
/
readdir()
scandir()
。为什么不重命名该文件?如果您知道要查找的位置,会使事情变得更简单。不重命名文件也会导致服务器出现安全问题。因此,您认为我应该重命名logo.jpg(扩展名根据原始文件)之类的文件,然后在循环中检查名为logo的文件是否具有.png、.gif、.jpg、,.jpeg是否存在于特定文件夹中?我建议使用命名功能,将用户ID设置为图像名称。然后,如果用户决定更新图像,将保留其文件名,而无需经过2-3个不同的过程(上载、删除、重新上载)。为什么不能重命名?有什么特别的原因吗?好的,所以方法是以某种自动方式重命名文件,将文件名保存在用户数据库中,并在用户进行更新时使用file_exists()检查该名称。由于可能的扩展名不同,我对重命名犹豫不决,但我想如果我在数据库中完全保存扩展名为的文件名,应该不会有问题。非常感谢。好的,所以方法是以某种自动方式重命名文件,将文件名保存在用户数据库中,并在用户进行更新时使用file_exists()检查该名称。由于可能的扩展名不同,我对重命名犹豫不决,但我想如果我在数据库中完全保存扩展名为的文件名,应该不会有问题。非常感谢。
    User ID     |     User Name     |    Logo ID