PHP Filesystem 函数
文件读取:
// NoAlike.txt
爱的色放付付付
阿斯蒂芬老客户
$filename = 'NoAlike.txt';
$filestring $filestring = file_get_contents($filename);
$filearray = explode("\n", $filestring);
while (list($key, $val) = each($filearray)) {
++$key;
$val = trim($val);
print 'Line' . $key .':'. $val.'<br />';
}
Line1:爱的色放付付付
Line2:阿斯蒂芬老客户
以只读模式打开NoAlike.txt
<?php
$fp = fopen('NoAlike.txt', "r");
var_dump($fp);
$contents = fread($fp,1024);
fclose($fp);
echo $contents;
?>
resource(3, stream)
爱的色放付付付 阿斯蒂芬老客户
写入文件:
<?php
header("Content-Type:text/html;charset=UTF-8");
$data = "我是一个兵,来自老百姓";
$numbytes = file_put_contents('binggege.txt',
$data);
if($numbytes){
echo '写入成功,我们读取看看结果试试:';
echo file_get_contents('binggege.txt');
}else{
echo '写入失败或者没有权限,注意检查';
}
?>
计算某文件有多少字节
<?php
header("Content-Type:text/html;charset=UTF-8");
$filename = 'test.txt';
$fp= fopen($filename, "w");
$len = fwrite($fp, '我是一只来自南方的狼,
一直在寻找心中的花姑娘');
fclose($fp);
print $len."字节被写入了\n";
?>
创建临时文件
<?php
header("Content-Type:text/html;charset=UTF-8");
$handle = tmpfile();
$numbytes = fwrite($handle, '写入临时文件');
fclose($handle);
echo '向临时文件中写入了'.$numbytes . '个字节';
?>
文件不存在,会自动创建并写入内容,
创建临时文件,写入成功,计算字节,关闭即销毁文件
重命名文件
<?php
$filename = 'test.txt';
$filename2 = $filename . '.old';
rename($filename, $filename2);
?>
复制文件
<?php
$filename = 'binggege.txt';
$filename2 = $filename . '_new';
copy($filename, $filename2);
?>
安装文件锁:
<?php
header("Content-Type:text/html;charset=UTF-8");
if(file_exists('install.lock')){
echo '已安装,请不要再次进行安装';
exit;
}else{
echo '请安装文件锁';
}
?>
获取文件的扩展名
function getExtension($filename){
$myext = substr($filename, strrpos($filename, '.'));
return str_replace('.','',$myext);
}
$filename = '我的文档.doc';
echo getExtension($filename);
获取文件大小并格式化
function formatSize($size) {
$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
if ($size == 0) {
return('n/a');
}else{
$i = floor(log($size, 1024));
return (round($size/pow(1024, $i), 2) . $sizes[$i]);
}
}
$thefile = filesize('16.php');
echo "{$thefile}<br>";
echo formatSize($thefile);
列出目录下的文件名
function listDirFiles($DirPath){
if($dir = opendir($DirPath)){
while(($file = readdir($dir)) !== false){
if(!is_dir($DirPath.$file)){
echo "filename: $file<br />";
}
}
}
}
listDirFiles('./');
获取当前文件的绝对地址:
<?php
$_current_file = str_replace(array('/', '\\'),
DIRECTORY_SEPARATOR, __FILE__);
define('__CUR_FILE__', $_current_file);
echo __CUR_FILE__;
?>
创建图片:
<?php
$img = imagecreatetruecolor(500, 500);
$red = imagecolorallocate($img, 255, 0, 0);
$green = imagecolorallocate($img, 0, 255, 0);
$blue = imagecolorallocate($img, 0, 0, 255);
$pur = imagecolorallocate($img, 255, 0, 255);
$yellow = imagecolorallocate($img, 121, 72, 0);
imagefilledrectangle($img, 0, 0, 500, 500, $green);
imageline($img, 0, 0, 500, 500, $red);
imageline($img, 500, 0, 0, 500, $blue);
imagefilledellipse($img, 250, 250, 200, 200, $yellow);
imagefilledrectangle($img, 200, 200, 300, 300, $blue);
imagejpeg($img, 'haha.jpg');
imagedestroy($img);
?>
使用CURL请求
<?php
header("Content-Type:text/html;charset=UTF-8");
$content = get('http://www.xmtnews.com/events');
var_dump($content);
preg_match('/<section class="ov">(.*?)<div class="hr-10"><\/div>/mis',$content,$match);
var_dump($match);
$area = $match[1];
preg_match_all('/<h3><a href="(.*?)" title=".*?" class="headers" target="_blank">(.*?)<\/a><\/h3>/', $area, $find);
var_dump($find);
foreach($find[0] as $key=>$val){
echo $val;
}
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
?>
创建一个目录树
function mkdirs($dir,$mode=0777){
if(!is_dir($dir)){
mkdirs(dirname($dir),$mode);
return mkdir($dir,$mode);
}
return true;
}