gpt4 book ai didi

php - 由于路径,图像类功能无法正常工作

转载 作者:行者123 更新时间:2023-12-04 19:44:41 26 4
gpt4 key购买 nike

我正在使用以下功能:

  class Image {

static function url($id, $type = 'maps') {
$path = UPLOAD_DIRECTORY . '/' . $type . '/';
$files = glob($path . $id . '.*');
if (count($files)) {
$ext = substr($files[0], strpos($files[0], '.') - strlen($files[5]));
return SERVER_URL . 'img/' . $type . '/' . $id . $ext;
} else {
return '';
}
}

}

在 WAMP 上托管时它工作正常,但在 nginx 上运行的 Unix 上使用时,由于文件路径,它无法正确显示图像。它似乎在 URL 中添加了文件的物理路径,因此它认为文件的补丁是 http://localhost/demo/img/maps/20/public_html/demo/img/maps/20.png

在 WAMP 上它可以正确显示,即 URL 是 http://localhost/demo/img/maps/20.png

这些是定义的变量:
define('SERVER_URL', 'http://localhost/demo/');
define('UPLOAD_DIRECTORY', dirname(__FILE__) . '/img');

身份证=20;

图片的物理位置在/public_html/demo/img/maps/

如何在 Unix 操作系统上解决此问题。

最佳答案

设法制定了解决方案(顺便说一句,我不是程序员)。

基本上在 UNIX 服务器上,图像所在的目录在路径中有一个点,而在 wamp 上则没有。

所以我必须做的是使用 strrpost 而不是 strpost - 这会找到字符串中最后一次出现的子字符串的位置,而不是第一次出现的位置。

关于php - 由于路径,图像类功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com