我正在做一个php入口。PHP如何使一个上传的文件链接是内部IP时,内部和公共IP时公开与我得到这个片段?
我做了一个公告部分,用户可以发布消息并附加文件。
所以在这种情况下,用户上传一个页面,将有附件的超链接。如果我在它悬停,我可以看到这个“192.168.0.100/Announcement/file.pdf”
所以逻辑上,如果IM在内部网络中,并点击它不会是一个问题,因为它可以从文件那个ip。
接下来的情况是我已经转发了服务器ip让公众可以从外面访问。现在我是作为从外部访问的用户。
所以,如果我是去宣布的位置和悬停在它再次将表现出同样的链接“192.168.0.100/Announcement/file.pdf”。因为ip是内部的,我一定不能打开它。
所以我想我怎样才能让它当我内部的IP是内部一个,当IM外,IP链路是公众?
我从前同事那里得到了这个片段,但我真的不知道代码的作用。有人可以帮我解释一下吗?我试图搜索这个东西,我想在网上做,但我没有一个适当的关键字。
下面是片段:
<?php
//filename constant.php
define('SERVERIP',((preg_match("/^192\.168/i",$_SERVER['REMOTE_ADDR']))?'192.168.0.100':'175.136.xxx.xxx'),true);
?>
而且下面是在页面的代码用于公告及附件的一部分:
include('_include/constant.php');
$dir = "C:/Inetpub/wwwroot/Announcement/";
$http = sprintf('http://%s/Announcement/',SERVERIP);
print '<td class="middle '.$CLASS.'" align="left" height="20">'.'<a href="http://'.SERVERIP.'/Announcement/'.$filename.'" target="_blank">'.$filename .'</a></td>';
这里任何PHP专业人员可以帮助我明白发生了什么以便下次我知道我实际执行的是什么?
Thnx @Mike Purcell !!我将阅读该文档。我明白你的解释,现在我明白了。 – Psychocryo 2012-03-06 04:55:04
没有问题。如果这有帮助,请接受。 – 2012-03-06 05:51:29