例如,我有一个指向这样一个页面的网站:
http://www.mysite.com/folder/file
如何获得确定/文件夹,以便我可以进一步引用if语句,如
if /folder then echo something
为什么我需要这个?
我想告诉facebook从页面中选择哪个图像。实际上我有一个非常简单的页面结构,Facebook应该首先采取的图像,但不知何故,它确实会不时选择另一个。我猜是因为其他图像的加载速度更快。而对rel =“img_src”的旧方法似乎不再起作用,因为我可以将它添加到想要的图像中。
当然,我使用开放式图形协议告诉facebook它应该使用哪个图像。
我正在使用cms,我可以根据图像的id输出图像的路径。我有两个不同的id用于生活在两个不同文件夹中的不同类型的页面。
这导致:
if index --> echo meta og for index img
else if /folderone (with id1) --> echo meta og for id1
else if /foldertwo (with id2) --> echo meta og for id2
这就是为什么我需要知道foldername。
现在回答我有以下设置,只知道你知道:
<?php $folder = dirname($_SERVER['SCRIPT_NAME']); ?>
<?php if (dirname($_SERVER['SCRIPT_NAME']) == "/") echo "<meta property='og:image' content='http://www.mysite.com/img/img.jpg'/>" ;?>
<?php if (dirname($_SERVER['SCRIPT_NAME']) == "/folderOne") echo "<meta property='og:image' content='http://www.mysite.com/img/{$img_id1}'/> " ;?>
<?php if (dirname($_SERVER['SCRIPT_NAME']) == "/folderTwo") echo "<meta property='og:image' content='http://www.mysite.com/img/{$img_id2}'/> " ;?>
答案 0 :(得分:8)
$path = parse_url($url, PHP_URL_PATH);
给你
/folder/file
然后你可以 explode()来分隔路径值并检查第一个路径值以查看它是否是“文件夹”
示例:http://tehplayground.com/#7TIKAwp6J 示例代码:
$url = "http://www.mysite.com/folder/file";
$path = parse_url($url, PHP_URL_PATH);
$arr = explode("/",$path);
echo $arr[1]; // leading slash makes [0] ""
输出
文件夹
答案 1 :(得分:5)
$script = $_SERVER['SCRIPT_NAME'];
echo dirname($script);
答案 2 :(得分:2)
可能使用“获取当前工作目录”功能getcwd()
?
然后抓住最后一个元素:
$var = getcwd();
$var = explode('\\', $var); // your OS might use '/' instead
$var = end($var);
我认为这假设您没有使用某种使用路由的MVC框架。
我希望有所帮助!
答案 3 :(得分:1)
我认为这比爆炸字符串更好:
function getCurrentDirectory(){
$curDirPath = getcwd();
return substr($curDirPath, strrpos($curDirPath, '/') + 1);
}
getcwd()
为您提供当前目录的路径,然后您可以在文件路径中最后一次出现/
后立即截断它。
答案 4 :(得分:0)
$dir_list = explode('/', dirname($_SERVER['SCRIPT_FILENAME']));
$this_folder = $dir_list[count($dir_list)-1];
...
if ($this_folder) == "folderOne") echo "...."
...
答案 5 :(得分:-2)
if(dirname('yoursite/folder')){