php - 使用全局变量动态更改 URL

标签 php html mysql .htaccess global

所以这真的很难解释,

我有一个 A 文件夹和一个 B 文件夹。我为它们使用一个通用数据库。

这两个文件夹都有以下文件,每个文件里面都有 => config.php、index.php、upload.php、control_admin.php、admin.php 和 view.php。 B与A共享一些基本的数据库、CSS和JS文件(没有任何问题)。

现在 A 用于项目 A,B 用于项目 B。

对于每个项目,我都有 URL => a.example.com 和 b.example.com

在 a.example.com/index.php,我上传了一个图像文件,其特征如下:project_name = Apple Version = 1。

在 b.example.com/index.php,我上传了一个图像文件,其特征如下:project_name = Banana Version = 1。

这些图像分别上传到A和B中的图像文件夹中。

现在要查看这些图像,我可以去

a.example.com\view.php?$version=1 并且可以看到图片。

b.example.com 也类似

我在 .htaccess 中对此进行了修改,以创建一个友好的 URL,将我带到

a.example.com\1 并根据需要显示图像。

现在问题来了。每个view.php文件都有以下图片链接

<img src = "<?php echo     "http://".$GLOBALS['url']."".$GLOBALS['img_folder']."/".$new ?>" style = 'margin: 0px auto; display:block; max-width: 100%;height: auto;'>

我从每个文件的 config.php 中获取这些全局变量。

对于A:

<?php $GLOBALS['project_name'] = 'Apple';?>

<?php $GLOBALS['url'] = 'a.example.com/'?>

<?php $GLOBALS["folder"] = 'FolderA'; ?>

<?php $GLOBALS['img_folder'] = 'AppleImages'; ?> 

对于B:

<?php $GLOBALS['project_name'] = 'Banana';?>

<?php $GLOBALS['url'] = 'b.example.com/'?>

<?php $GLOBALS["folder"] = 'FolderB'; ?>

<?php $GLOBALS['img_folder'] = 'BananaImages'; ?> 

现在的问题是,如果我上传 A 的版本 1,然后上传 B 的版本 1,然后我转到来自 a.example.com/1 或 b.example.com/1 的友好 URL 链接。 .在B上传文件后,我看不到A的文件。因为URL硬指向B,因为它是同一数据库中最近上传的。

如果我上传到 a.example.com,然后上传到 b.example.com,文件具有相同版本,我可以对 URL 执行什么操作以确保我可以在各自的 URL 上看到这两个图像

a.example.com/2 和 b.example.com/2

我希望我说得有道理。提前致谢。

https://drive.google.com/drive/folders/0B5nDbj-RhZJMa3drNFlfRzVaLXc?usp=sharing

最佳答案

我查看了您提供的 Google 云端硬盘链接。

view.php:第 64 行

$project_name_download_form = $_GET['project_name'];

除非您使用如下网址访问 view.php:

a.example.com\view.php?version=1&project_name=apple

您的 $project_name_download_form 将具有空字符串值,并且您的 SQL 查询将变为:

SELECT demo_id, demo_name, demo_version, demo_details, file 
                      FROM demo
                      WHERE  demo_name = ''
                      AND  demo_version = '1'

所以有 2 个操作,将第 64 行更改为:

$project_name_download_form = $GLOBALS['project_name'];

然后直接检查数据库以确保 demo_name 列中设置了值(而不仅仅是空白)。

关于php - 使用全局变量动态更改 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984235/

相关文章:

Javascript - 元素的 CSS 样式在附加时不显示

html - 在 grails 中使用 webshim

javascript - 更改 case 语句中的变量

mysql - Mediawiki 数据库恢复

php - Laravel 的 ShouldQueue 是如何工作的

PHP , PDO , 外键

php - [a-z] 会匹配 PREG/PCRE 中的重音字符吗?

html - 如何制作一个与灵活照片具有相同宽度和高度并位于照片顶部的灵活 block ?

PHP:需要服务器时间和日期来运行 SQL 查询

Mysql 创建带有计数子句的 View