<?php
/*
* 魔术常量(8)个 它们的值随着它们在代码中的位置改变而改变
* __LINE__ 返回当前文件所在行号
* __FILE__ 返回包含当前文件的绝对路径和文件名
* __FUNCTION__ 返回函数的名称(区分大小写)
* __CLASS__ 返回类的名称(区分大小写)
* __MOTHOD__ 返回类的方法的名称(区分大小写)
* __NAMESPACES__ 返回当前命名空间的名称(区分大小写)
* __DIR__ 文件所在的目录
* __TRAIT__ 返回trait被声明的名字
*/
namespace think;
echo "当前行号:" . __LINE__ . "<br/>";
echo "当前文件名/路径:" . __FILE__ . "<br/>";
//__FUNCTION
function test() {
echo "返回函数名称:" . __FUNCTION__ . "<br/>";
}
test();
class Test {
public function p() {
echo "当前类的方法名为:" . __METHOD__ . "<br/>";
echo "当前类的名为:" . __CLASS__ . "<br/>";
}
}
$d = new Test;
$d->p();
echo "当前的命名空间是:" . __NAMESPACE__;
//__DIR__
//echo '文件所在的目录'.__DIR__;
/*
* 预定义常量
* 1.PHP_VERSION 返回php的版本
* 2.PHP_OS PHP解释器操作系统名称
* 3.E_ERROR 最近的错误处
* 4.E_WARNING 最近的警告处
* 5.E_NOTICE 最近的通知处
* 6.E_PARSE 剖析语法的潜在问题处
* 7.PHP_EOL 系统换行符
* 8.DIRECTORY_SEPARATOR 系统目录分隔符,Windows是反斜线(\),Linux是斜线(/)
9.PATH_SEPARATOR 多路径间分隔符,Windows是反斜线(;),Linux是斜线(:)
* php_sapi_name();
返回描述 PHP 所使用的接口类型(the Server API, SAPI)的小写字符串。
例如,CLI 的 PHP 下这个字符串会是 "cli",Apache 下可能会有几个不同的值,取决于具体使用的 SAPI。
以下列出了可能的值:
aolserver、apache、 apache2filter、apache2handler、 caudium、cgi (直到 PHP 5.3), cgi-fcgi、cli、 continuity、embed、 isapi、litespeed、 milter、nsapi、 phttpd、pi3web、roxen、 thttpd、tux 和 webjames。
*
* dirname(string path)给出一个包含全路径的文件的字符串,本函数返回去掉文件名的目录名
* 在windows中,/和\都可以作为目录的分隔符,其他环境下是/
* dirname("index.php") 返回.
* dirname("/index.php") 返回\
* dirname("/ect/password") 返回/ect
* dirname(__FILE__) 返回E:/WWW/php/02
* dirname 会取消文件名和前面的/(\),如 E:/www/php/02/index.php,会返回 E:/www/php/02
* pathinfo($path) 返回文件的信息,以数组形式
* array(
[dirname] => E:\www1\daiyutage\php\02
[basename] => index.php
[extension] => php
[filename] => index
)
*
*/
//echo "php的版本是:".PHP_VERSION;
//echo "操作系统为:".PHP_OS;
//echo "是否为命令行:".PHP_SAPI;
//echo "最近的错误处:".E_ERROR;
//echo "系统的换行符好:".PHP_EOL;
//echo PHP_INT_MAX,"<br/>";
//echo PHP_INT_SIZE;
//echo php_sapi_name();
///*
// * dirname();
// *
// */
//echo dirname(__FILE__).'/cookie.txt';
//print_r(pathinfo(__FILE__));
/*
* 遍历目录函数
* 第一种方法 (类操作:Directory);
* dir(filename); 返回一个目录的对象,即Directory类的实例,Directory类不用new对象,用dir实例化对象
* 然后调用Directory类的read方法,用while循环读取该目录下的文件或子目录
* 如果读到子目录,那么那递归遍历
* 第二种方法
* $hand = opendir(filename); 此函数返回目录的句柄
* readdir($hand); 用此函数读取目录
* 如果读到子目录,那么递归遍历
*/
$obj = dir("../01");
//print_r($obj);
echo "<br/>";
//listDriectory("../01");
function listDriectory($directory) {
$obj = dir($directory);
echo '<ul>';
while ($file1 = $obj->read()) {
if (is_dir("$directory/$file1") && ($file1 != '.') && ($file1 != '..')) {
echo "$file1" . "<br>";
listDriectory("$directory/$file1");
} else if (($file1 != '.') && ($file1 != '..'))
echo "<li>", $file1, "</li>";
}
echo '</ul>';
}
//第二种遍历目录方法 opendir,readdir
function outDriectory($directory,$new_directory) {
$hand = opendir($directory);
if (!$hand) {
echo "操作目录失败";
return;
}
echo '<ul>';
while ($file1 = readdir($hand)) {
if (is_dir("$directory/$file1") && ($file1 != '.') && ($file1 != '..')) {
echo "$file1" . "<br>";
if(!is_dir("$new_directory/$file1"))
mkdir("$new_directory/$file1");
outDriectory("$directory/$file1","$new_directory/$file1");
} else if (($file1 != '.') && ($file1 != '..'))
{
echo "<li>", $file1, "</li>";
//var_dump("$directory/$file1");
//copy("$directory/$file1","$new_directory/$file1");
}
}
echo '</ul>';
}
echo exec("");
//outDriectory("c:\\","haha");
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
//function tree($directory)
//{
// $mydir = dir($directory);
// echo "<ul>\n";
// while($file = $mydir->read())
// {
// if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
// {
// echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
// tree("$directory/$file");
// }
// else
// echo "<li>$file</li>\n";
// }
// echo "</ul>\n";
// $mydir->close();
//}
开始运行
//
//echo "<h2>目录为粉红色</h2><br>\n";
tree("../01");
//
///***********************
//第二种实现办法:用readdir()函数
//************************/
//function listDir($dir)
//{
// if(is_dir($dir))
// {
// if ($dh = opendir($dir))
// {
// while (($file = readdir($dh)) !== false)
// {
// if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
// {
// echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
// listDir($dir."/".$file."/");
// }
// else
// {
// if($file!="." && $file!="..")
// {
// echo $file."<br>";
// }
// }
// }
// closedir($dh);
// }
// }
//}
开始运行
listDir("./nowamagic");
/*
* 文件拷贝函数
* copy(src,des);
* //文件重命名
* rename(old,new);
* 拷贝目录下的所有文件和子目录
* 1.先遍历目录
* 2.在遍历的过程中拷贝,如果文件夹不存在,mkdir()先创建文件夹
*
*/
//copy("index.php","index_copy.php");
//rename("index_copy.php","index_new.php");
tam,zsgy,hh,nlgx,zydst,nc,
php 学习02
最新推荐文章于 2023-08-18 21:03:31 发布