这是一个你可以在网上到处阅读的问题,有各种答案:
$ext = end(explode('.', $filename));
$ext = substr(strrchr($filename, '.'), 1);
$ext = substr($filename, strrpos($filename, '.') + 1);
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
$exts = split("[/\\.]", $filename);
$n = count($exts)-1;
$ext = $exts[$n];
Run Code Online (Sandbox Code Playgroud)
等等
但是,总有"最好的方法",它应该在Stack Overflow上.
你什么时候考虑使用一个而不是另一个?为什么?
我已经搜索了高低,并获得了许多不同的解决方案和包含信息的变量来获取绝对路径.但它们似乎在某些条件下工作而不在其他条件下工作.是否有一种银弹方式来获取PHP中执行脚本的绝对路径?对我来说,脚本将从命令行运行,但是,如果在Apache等中运行,解决方案应该也能正常运行.
澄清:最初执行的脚本,不一定是编码解决方案的文件.
我有一个HTML表单字段$_POST["url"],其中包含一些URL字符串作为值.示例值为:
https://example.com/test/1234?email=xyz@test.com https://example.com/test/1234?basic=2&email=xyz2@test.com https://example.com/test/1234?email=xyz3@test.com https://example.com/test/1234?email=xyz4@test.com&testin=123 https://example.com/test/the-page-here/1234?someurl=key&email=xyz5@test.com
等等
如何email从这些URL /值中仅获取参数?
请注意,我没有从浏览器地址栏中获取这些字符串.
我将WordPress安装移动到Windows/IIS服务器上的新文件夹.我在PHP中设置301重定向,但它似乎没有工作.我的帖子网址格式如下:
http:://www.example.com/OLD_FOLDER/index.php/post-title/
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何抓取/post-title/URL 的一部分.
$_SERVER["REQUEST_URI"] - 每个人似乎都建议 - 返回一个空字符串.$_SERVER["PHP_SELF"]刚刚回来index.php.为什么会这样,我该如何解决?
我在Windows Vista上使用XAMPP.在我的发展中,我有http://127.0.0.1/test_website/.
我如何http://127.0.0.1/test_website/使用PHP?
我试过这样的东西,但没有一个有用.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Run Code Online (Sandbox Code Playgroud) 我需要从当前请求的URL获取路径.例如,如果当前URL是:
"http://www.example.com/example/test/hi.php?randomvariable=1"
Run Code Online (Sandbox Code Playgroud)
我想要这个:
"/example/test/hi.php?randomvariable=1"
Run Code Online (Sandbox Code Playgroud) 我看到了//somepage.com/resourceurl格式.例如:
<img src="//remotesite.com/image1.jpg" />
Run Code Online (Sandbox Code Playgroud)
这一点是,如果当前页面(定义img标签的页面)正在使用http,则通过http进行对远程站点的请求.如果它是https - 它是https.这消除了浏览器未完全加密页面的警告.
我的问题是 - 这种URL格式是否可以安全地用于所有浏览器.它是一个标准吗?
If I have a URL like:
http://www.example.com:9090/test.html
Run Code Online (Sandbox Code Playgroud)
Then I know that www.example.com is the host name, but what do you call http://www.example.com:9090? Is there some kind of established name for that?