首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义本地和实时环境路径

定义本地和实时环境路径
EN

Stack Overflow用户
提问于 2011-08-13 07:11:24
回答 4查看 292关注 0票数 3

我正在使用一个表单将文件上传到特定的上传文件夹。现在,在我的本地开发环境中,本地文件夹被硬编码在一个变量中,如下所示

代码语言:javascript
复制
$destination = 'c:/public_html/discography/artwork/';

一旦脚本完成并准备好在实时环境中移动,上传文件夹将为

代码语言:javascript
复制
$destination = '/home/my_name/public_html/discography/artwork/';

我的问题如下:现在,这两个变量都是硬编码的。如何根据环境选择正确的路径?

如果可能,我希望它在define语句中,这样我就可以在脚本中的任何地方使用它:

代码语言:javascript
复制
define('UPLOAD_ARTWORK', ????);

本地:

代码语言:javascript
复制
$destination = 'c:/public_html/discography/artwork/';
$move = move_uploaded_file($_FILES['artwork']['tmp_name'], $destination.$_FILES['artwork']['name']);

现场直播:

代码语言:javascript
复制
$destination = '/home/my_name/public_html/discography/artwork/';
$move = move_uploaded_file($_FILES['artwork']['tmp_name'], $destination.$_FILES['artwork']['name']);

许愿

代码语言:javascript
复制
define('UPLOAD_ARTWORK', ????);
$move = move_uploaded_file($_FILES['artwork']['tmp_name'], UPLOAD_ARTWORK.$_FILES['artwork']['name']);

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-13 07:20:23

你走在正确的道路上。您所需要的就是确定脚本是在本地运行还是在活动服务器上运行。如果您使用的是dev.example.com或ip地址ala 127.0.0.1,这可能是一个子域。然后你可以这样写它。

代码语言:javascript
复制
switch($_SERVER['HTTP_HOST']){
    case "dev.example.com":
        define('UPLOAD_ARTWORK','c:/public_html/discography/artwork/');
        break;
    default:
        define('UPLOAD_ARTWORK','/home/my_name/public_html/discography/artwork/');
}
$move = move_uploaded_file($_FILES['artwork']['tmp_name'], UPLOAD_ARTWORK.$_FILES['artwork']['name']);
票数 4
EN

Stack Overflow用户

发布于 2011-08-13 07:19:15

根据您的vhosts设置方式,下面的内容将会起作用:

代码语言:javascript
复制
switch($_SERVER['HTTP_HOST'])
{
    case 'dev.mysite.com':
    case 'localhost':
        define('UPLOAD_ARTWORK','c:/public_html/discography/artwork/');
        break;
    case 'www.mysite.com':
        define('UPLOAD_ARTWORK','/home/my_name/public_html/discography/artwork/');
        break;
}
票数 1
EN

Stack Overflow用户

发布于 2011-08-13 07:17:16

为什么不像这样的测试

代码语言:javascript
复制
0 == strcmp('127.0.0.1', $_SERVER['SERVER_ADDR'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7047275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档