在apache php linux主机上返回区分大小写的文件

在apache php linux主机上返回区分大小写的文件,php,linux,apache,case-sensitive,Php,Linux,Apache,Case Sensitive,我正在使用一个免费主机(linux[apache,php,mysql])来测试一些php脚本 其中之一是使用和算法从mysql id创建唯一标识符(UID) 所以1变成aaaaaaaa b等等 我正在使用UID字符串在服务器上存储图像(works) 现在我才发现读取中的文件系统是不区分大小写的 所以我有aaaaaaaa b.jpg&aaaaaaaa b.jpg但是我总是先得到大写的图像 有没有办法用php返回正确的图像? 注1:我可以存储大小写的图像。(正常情况下,linux文件系统区分大小

我正在使用一个免费主机(linux[apache,php,mysql])来测试一些php脚本

其中之一是使用和算法从mysql id创建唯一标识符(UID)

所以
1
变成
aaaaaaaa b
等等

我正在使用UID字符串在服务器上存储图像(works)

现在我才发现读取中的文件系统是不区分大小写的

所以我有
aaaaaaaa b.jpg
&
aaaaaaaa b.jpg
但是我总是先得到大写的图像


有没有办法用php返回正确的图像?


注1:我可以存储大小写的图像。(正常情况下,linux文件系统区分大小写)

注2:由于这是一个免费主机,我可能无法使用.htaccess或修改php、文件系统设置。但如果注释3不正确,我也接受包含.htaccess解决方案的答案

注3:他们有票务系统,但不回答

注意4:我的本地服务器上的一切都正常


我的尝试:

directlink—“ht*p://myurl.test/img/aab.jpg”

文件获取内容('aaaaaaaaaa b.jpg')

fopen('aaaaaaaa b.jpg',r)

还有404“ht*p://myurl.test/aab”上的重定向脚本

在所有这些情况下,我得到了'aaaaaaab.jpg'


我也阅读了这里已经回答的大部分问题,但它们主要包括修改文件系统或php设置&(htaccess,但不是以我的情况下正确的方式)


文件系统区分大小写(写)和大小写(读)


UID脚本。。

我的第一个建议是搬到另一个招待所。文件系统是区分大小写的,或者是不区分大小写的。其他一切都毫无意义。(而且主持人没有对支持票做出回应——但你期望什么都没有。)


如果不可能,您可以从UID脚本中删除大写字母,或者以另一种方式生成唯一的id,而无需同时使用大写和小写值。

我将重命名这些文件


将算法更改为只使用一种情况,并重命名所有现有文件(我假设您希望保留存储的内容)。请记住,重命名文件时,它始终会先重命名大写文件,这样您就可以将所有使用大写名称的文件移动到一个新名称。

主机上的Mod_alias可能会配置为进行不区分大小写的匹配,因此您可以删除它


然而,总的来说,这个计划似乎是一个糟糕的想法。如果你有身份证,你可以用它。或者创建一个实际的UUID,或者使用uniqid()

只需使用strtolower()?我在服务器上有两个文件,所以aaaaab.jpg&aaaaaaaB.jpg。但是我总是只得到aaaaab.jpg“但是你什么都不期望”……这是一个非常好的主机,除了它们不响应,而且文件系统一团糟:(.我也这么认为,但找到另一个这样的主机并不容易。同时,搞乱UID脚本会对我可以创建的UID数量产生很大影响。无论如何,如果我得不到更多,请考虑您的答案作为解决方案。THX重命名不会是一个大问题。.我在本地服务器上有完全相同的副本。我只是想测试UID script:)在这种情况下..这就是为什么我要努力找到一个“测试”解决方案来输出正确的文件。你有一个如何用php配置mod_别名的示例吗?