require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
<?php
function glob_r($pattern)
{
foreach (glob($pattern) AS $filename) {
if (is_dir($filename)) {
glob_r($pattern);
}
else {
echo $filename." size " . filesize($filename) . "<br>\n";
}
}
}
//调用
glob_r("*.txt");
?>
<?php
$str = "http://www.sina.com.cn/abc/de/fg.php?id=1";
$str1 = explode("?", $str);
$str2 = explode(".", $str1[0]);
$end_fix = $str2[count($str2)-1];
echo $end_fix;
?>
$temp = parse_url("http://www.sina.com.cn/abc/de/fg.php?id=1");
$temp = explode(".",$temp['path']);
echo $temp[sizeof($temp)-1]
?>
function getExtension($pPath)
{
$file = explode("?", $pPath);
$file1=strrchr($file['0'], ".");
$file2=explode("[/url]", $file1);
return $file2[0];
}$path = "http://www.sina.com.cn/abc/de/fg.php";
$path2 =http://www.sina.com.cn/abc/de/fg.php?id=1echo getExtension($path);
echo "<br>".getExtension($path2);
?>
$path2 ="http://www.sina.com.cn/abc/de/fg.php?id=1";
11题:取出?和它之前的.之间的字符串12题:网上有相关的简繁体转换函数,直接拿来用好了,就是别忘了把gbk替换成big513题:定义相对地址$dir="";将两个路径字符串按照/分割写入数组,开始依次比较两个数组中对应的值,相等不输出,不等则在$dir前面加上"../",后面加上相对于那个变量相应的数组元素值,比较到数组的倒数第二个元素为止时$dir的值就是所求的相对路径。
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d初学PHP想看看好办法
<?php
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
function rela(){
global $a;
global $b;
$v = explode('/',$a);
$vv = explode('/',$b);
$d = "";
for ($c=1;$c<sizeof($vv)-1;$c++){
if($v[$c]==$vv[$c]){
$d.="../";
}
else{
$d.=($v[$c]."/");
}
}
echo($d);
}
rela();
?>
$url = 'http://www.sina.com.cn/abc/de/fg.php?id=1';
function foo11($url) {
$ar = parse_url($url);
return pathinfo($ar['path'], PATHINFO_EXTENSION);
}13、
function foo13($path, $consult) {
$a = split('/', $path);
$b = split('/', $consult);
$t = array_intersect_assoc($a, $b);
$n = strlen(join('/', $t));
$p = substr(str_repeat('../', count($t)-1), 0, -1);
return dirname($p.substr($consult, $n));
}$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
echo foo13($b, $a);
13题:当比较到不相同的数组元素之后就开始更改$dir的值,无论以后是否有相等的情况,都应当在前面加"../"以及在后面加"数组元素值/",当比较方未结束,被比较方已结束(指比较到倒数第二个元素)时在前面加"../",反之则在后面加"数组元素值/"
<?php
$a1 = '/a/b/c/d/e.php';
$b1 = '/a/b/12/34/c.php';
$a = explode('/', $a1);
$b = explode('/', $b1);
$n=1;
$m=min(count($a),count($b));
$dir="";
for($i=1;$i<$m;$i++){
if($a[$i]==$b[$i]){
$n++;
}
else{
$i=$m;
}
}
for($n2=$n;$n2<count($a)-1;$n2++){
$dir=$dir.$a[$n2]."/";
}
for($n2=$n;$n2<count($b)-1;$n2++){
$dir="../".$dir;
}
echo $dir."<br/>";
?>
如果是$a='/a/b/c/d/e.php',$b='/a/b/f/d/e/f.php'就不对了
其实我在回帖后就意识到错误了,没有立即改正的原因是想看看:究竟有多少人是在认真的看贴function foo13($path, $consult) {
if($path[0] == '/') $path = '/'.$path;
if($consult[0] == '/') $consult = '/'.$consult;
$i = $k = 0;
while($path[$i] == $consult[$i]) {
if($path[$i] == '/') $k = $i;
$i++;
}
if($n = substr_count(substr($path, $k+1), '/')) {
return str_repeat('../', $n).substr($consult, $k+1);
}
return './'. substr($consult, $k+1);
}
CSDN....
还是有一点瑕疵:
假设使用相对路径几有问题了,如:
$a = 'a/b/c/d/e.php';
$b = '3/4/c.php';
$ext = explode("?",strrchr($str,"."));
echo $ext[0];