pathinfo(pathinfo iis)

http://www.itjxue.com  2023-02-27 01:38  来源:未知  点击次数: 

如何用php获取文件名后缀

php获取文件后缀名(format file)

//方法一:

复制代码 代码如下:

?php

function extend_1( $file_name )

{

$retval = “” ;

$pt = strrpos ( $file_name , “.” );

if ( $pt ) $retval = substr ( $file_name , $pt +1, strlen ( $file_name ) - $pt );

return ( $retval );

}

//方法二

复制代码 代码如下:

function extend_2( $file_name )

{

$extend = pathinfo ( $file_name );

$extend = strtolower ( $extend [ "extension" ]);

return $extend ;

}

//方法三

复制代码 代码如下:

function extend_3( $file_name )

{

$extend = explode ( “.” , $file_name );

$va = count ( $extend )-1;

return $extend [ $va ];

}

//方法四

复制代码 代码如下:

function getFileExt( $file_name )

{

while ( $dot = strpos ( $file_name , “.” ))

{

$file_name = substr ( $file_name , $dot +1);

}

return $file_name ;

}

?

另外:

PHP pathinfo() 函数

PHP Filesystem 函数

定义和用法

pathinfo() 函数以数组的形式返回文件路径的信息。

语法

pathinfo(path,options)

参数

描述

path

必需。规定要检查的路径。

process_sections

可选。规定要返回的数组元素。默认是 all。

可能的值:

PATHINFO_DIRNAME – 只返回 dirname

PATHINFO_BASENAME – 只返回 basename

PATHINFO_EXTENSION – 只返回 extension

说明

pathinfo() 返回一个关联数组包含有 path 的信息。

包括以下的数组元素:

[dirname]

[basename]

[extension]

提示和注释

注释:如果不是要求取得所有单元,则 pathinfo() 函数返回字符串。

例子

例子 1

复制代码 代码如下:

?phpprint_r( pathinfo ( “/testweb/test.txt” ));?

// 输出:

// Array([dirname] = /testweb[basename] = test.txt[extension] = txt)

例子 2

复制代码 代码如下:

?phpprint_r( pathinfo ( “/testweb/test.txt” ,PATHINFO_BASENAME));?

// 输出:

// test.txt

Mac os 自带的 Apache 怎么开启 pathinfo

配置的 Apache 版本 : 2.2.13

在配置文件中加入

Files *.php

AcceptPathInfo On

/Files

这样 Apache 就可以支持针对 php 文件的 PathInfo 了.

2.让 Nginx 支持 PathInfo

在配置文件里添加

location ~ \.php

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

set $path_info “”;

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ “^(.+?\.php)(/.+)$”) {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME /var/html/$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

include conf/fcgi.conf;

}

tp框架pathinfo格式怎么配置

我们在安装lnmp一键安装的时候,一般都没有开启访问pathinfo模式

这种模式在比较多的框架中用到,比如国人的ThinkPHP,还比如C写的Yaf也用到,不支持就比较可惜了。

pathinfo的原理就是将index.php/xxxx/xxx类似的网址当做php来执行,并且需要将xxx/xxx写入到$_SERVER[‘PATH_INFO’]中

这个是lnmp.org(我装的就是这个,所以我以这个为例子)开出来的虚拟机的配置中的一段(vhost/***.conf),修改nginx配置文件也是这样修改

location ~ .*\.(php|php5)?$

{

try_files $uri =404;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fcgi.conf;

}

大家明显看到,location中的正则中,写了一个$,悲剧了,表示就此结束(?表示前面的php只匹配一次,这个只是随便提提)

最终,应该如此处理(location哪里也修改了,因为我没有用到php5处理):

if (!-e $request_filename)

{

rewrite ^\/(.*)$ /index.php/$1 last;

break;

}

location ~ \.php

{

try_files $uri =404;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fcgi.conf;

set $path_info "";

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;

}

后面的部分处理我是参考的网络上搜索到的文档,带注释版告诉大家

location ~ \.php

{

try_files $uri =404;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fcgi.conf;

set $path_info "";#初始化一个变量

set $real_script_name $fastcgi_script_name;#初始化一个变量,并且获取到一个原始赋值

if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {#检测如果.php后面还存在/开始参数,将参数处理

set $real_script_name $1;#将第一个正则子串匹配到的赋值

set $path_info $2;#将第二个正则子串匹配到的赋值

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;#修改SCRIPT_FILENAME值

fastcgi_param SCRIPT_NAME $real_script_name;#修改SCRIPT_NAME值

fastcgi_param PATH_INFO $path_info;#修改PATH_INFO值

#上述三个赋值都是replace into的模式,这些值都是写在fcgi.conf中

}

上传后thinkphp中为什么pathinfo设置不起作用

pathinfo是检查服务器环境的,不启作用的原因我认为有两种

1、你的输出pathinfo文件,被.htaccess改写了

2、

服务环境

没有搭建好

PATHINFO模式和REWRITE模式哪个好

pathinfo 模式是index.ph/index/index 这种url格式。也需要服务器支持pathinfo才行

rewrite就是伪静态。把index.php隐藏掉

兼容模式就是普通的模式加s=/参数/或者m=modela=action这样的 各个开发框架都自己特定的格式。

(责任编辑:IT教学网)

更多

相关软件水平考试文章

推荐软件水平考试文章