好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php如何创建空对象 php数组的方法

很多站长朋友们都不太清楚php如何创建空对象,今天小编就来给大家整理php如何创建空对象,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP5教程之文件操作 2、 php的基本语法 3、 PHP中如何判断一个对象是否为空 4、 php 可以直接创建对象吗 5、 关于PHP如何定义一个空对象 PHP5教程之文件操作

一 引论

在任何计算机设备中 文件是都是必须的对象 而在web编程中 文件的操作一直是web程序员的头疼的地方 而 文件的操作在cms系统中这是必须的 非常有用的 我们经常遇到生成文件目录 文件(夹)编辑等操作 现在我把php中的这些函数做一详细总结并实例示范如何使用 关于对应的函数详细介绍 请查阅php手册 此处只总结重点 和需要注意的地方 (这在php手册是没有的 )( lian )

二 目录操作

首先介绍的是一个从目录读取的函数 opendir() readdir() closedir() 使用的时候是先打开文件句柄 而后迭代列出:

<?php $base_dir = filelist/ ; $fso = opendir($base_dir); echo $base_dir <hr/> ; while($flist=readdir($fso)){ echo $flist <br/> ; } closedir($fso) ?> 

这是讲返回文件目录下面的文件已经目录的程序( 文件将返回false)

有时候需要知道目录的信息 可以使用dirname($path)和basename($path) 分别返回路径的目录部分和文件名名称部分 可用disk_free_space($path)返回看空间空余空间

创建命令:

mkdir($path )

是权限码 在非window下可用umask()函数设置

rmdir($path)

将删除路径在$path的文件

dir directory 类也是操作文件目录的重要类 有 个方法 read rewind close 这是一个仿面向对象的类 它先使用的是打开文件句柄 然后用指针的方式读取的 这里看php手册:

<?php$d = dir( /etc/php );echo Handle: $d >handle /n ;echo Path: $d >path /n ;while (false !== ($entry = $d >read())) {    echo $entry /n ;}$d >close();?>

输出:

Handle: Resource id # Path: /etc/php apachecgicli

文件的属性也非常重要 文件属性包括创建时间 最后修改时间 所有者 文件组 类型 大小等

下面我们重点谈文件操作

三 文件操作

A 读文件

首先是一个文件看能不能读取(权限问题) 或者存在不 我们可以用is_readable函数获取信息

<?php$file = dirlist php ;if (is_readable($file) == false) {         die( 文件不存在或者无法读取 );} else {         echo 存在 ;}?>

判断文件存在的函数还有file_exists(下面演示) 但是这个显然无is_readable全面 当一个文件存在的话可以用

<?php$file = filelist php ;if (file_exists($file) == false) {         die( 文件不存在 );}$data = file_get_contents($file);echo entities($data);?>

但是file_get_contents函数在较低版本上不支持 可以先创建文件的一个句柄 然后用指针读取全部:

$fso = fopen($cacheFile r );         $data = fread($fso filesize($cacheFile));         fclose($fso);

还有一种方式 可以读取二进制的文件:

$data = implode( file($file));

B 写文件

和读取文件的方式一样 先看看是不是能写:

<?php$file = dirlist php ;if (is_writable($file) == false) {         die( 我是鸡毛 我不能 );}?>

能写了的话可以使用file_put_contents函数写入:

<?php $file = dirlist php ; if (is_writable($file) == false) { die( 我是鸡毛 我不能 ); } $data = 我是可鄙 我想要 ; file_put_contents ($file $data); ?> 

file_put_contents函数在php 中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的php无法使用 可以使用如下方式:

$f = fopen($file w ); fwrite($f $data); fclose($f); 

替换之

写文件的时候有时候需要锁定 然后写:

function cache_page($pageurl $pagedata){ if(!$fso=fopen($pageurl w )){ $this >warns( 无法打开缓存文件 );//trigger_error return false; } if(!flock($fso LOCK_EX)){//LOCK_NB 排它型锁定 $this >warns( 无法锁定缓存文件 );//trigger_error return false; } if(!fwrite($fso $pagedata)){//写入字节流 serialize写入其他格式 $this >warns( 无法写入缓存文件 );//trigger_error return false; } flock($fso LOCK_UN);//释放锁定 fclose($fso); return true; } 

C 复制 删除文件

php删除文件非常easy 用unlink函数简单操作:

<?php $file = dirlist php ; $result = @unlink ($file); if ($result == false) { echo 蚊子赶走了 ; } else { echo 无法赶走 ; } ?> 

即可

复制文件也很容易:

<?php $file = yang txt ; $newfile = ji txt ; # 这个文件父文件夹必须能写 if (file_exists($file) == false) { die ( 小样没上线 无法复制 ); } $result = copy($file $newfile); if ($result == false) { echo 复制记忆ok ; } ?> 

可以使用rename()函数重命名一个文件夹 其他操作都是这几个函数组合一下就能实现的

D 获取文件属性

我说几个常见的函数:

获取最近修改时间:

<?php $file = test txt ; echo date( r filemtime($file)); ?> 

返回的说unix的时间戳 这在缓存技术常用

相关的还有获取上次被访问的时间fileatime() filectime()当文件的权限 所有者 所有组或其它 inode 中的元数据被更新时间 fileowner()函数返回文件所有者

$owner = posix_getpwuid(fileowner($file));

(非window系统) ileperms()获取文件的权限

<?php$file = dirlist php ;$perms = substr(sprintf( %o fileperms($file)) );echo $perms;?>

filesize()返回文件大小的字节数:

<?php

// 输出类似 somefile txt: bytes

$filename = somefile txt ; echo $filename : filesize($filename) bytes ;

?> 

获取文件的全部信息有个返回数组的函数stat()函数:

<?php $file = dirlist php ; $perms = stat($file); var_dump($perms); ?> 

那个键对应什么可以查阅详细资料 此处不再展开

四 结束语

lishixinzhi/Article/program/PHP/201311/21262

php的基本语法

1. php嵌入到html中的方式:

*1.标准风格(推荐)

2.....长风格

3.短风格  需要在php.ini配置文件中开启short_open_tag选项才可以。

4. <% ... %> 兼容ASP风格(默认不支持)  需要在php.ini配置文件中开启asp_tags选项才可以。

2. 在php中每条语句使用分号结束的。也就是分号是php语句之间的分割符。 

注意: 在每个脚本中,最后一条语句后可以没有分号结束。 

*3. 在php中注释(3种):// 单行注释 (来自其他程序中的注释)#  单行注释 (来自脚本程序的注释)/* ...  */  多行注释  注意:不可以嵌套使用。                        /** .... */ 文档注释*

4. 变量php是一个弱类型语言。变量的命名规范:变量是以$符开始定义的,变量名的规则:由字母、数字、下划线构成,不可以使用数字开头。在php中变量名是区分大小写

5. 变量的类型:(8种)*在php中共计有8种基本数据类型:4种标量类型:整数(int)、浮点数(float/double)、布尔值(boolean)、字串(string)2种复合类型:数组(array)、 对象(object)2种特殊类型:资源(resource)、 空(NULL)其中:对象和资源类型属于引用类型,其他都属于值类型。

5.1 整型:int类型php的整型是占4个字节(32位)的。而且是没有无负号储存值:-2147483648~21474836475.2 浮点数:(不区分单精度和双精度,统一占8个字节)定义:$d1 = 12.5;$d2 = 0.1e3;  //100

5.3 布尔值:(真true和假false)当转换为 boolean 时,以下值被认为是 FALSE: 布尔值 FALSE 自身 *整型值 0 (零) *浮点型值 0.0 (零) *空""字符串, 以及 字符串 "0" *不包括任何元素的数组 不包括任何成员变量的对象(仅PHP 4.0 适用) *特殊类型 NULL (包括尚未设定的变量) 从没有任何标记(tags)的XML文档生成的SimpleXML 对象 

5.4 字符串(string)在php中字串的定义方式:单引号: ' ' 不支持变量解析, 支持单引号'和\的转义。双引号: " " 支持变量解析,为了兼容使用{}将变量括起来。支持转义: \n \s \t \r \" \\ \$定界符: <<<  注意接收符的使用    

5.5 数组array一个变量中可以储存多个值。数组分为:关联式数组和索引式数组 //定义:    $a = array(10,20,30,40);//使用:echo $a[1]; //输出:20

5.6 对象:

5.7 资源:

5.8 null;

6. 类型转换问题:

6.1 布尔值/null:true在算术计算中可以自动转成数值1;false在算术计算中可以自动转成数值0;null在算术计算中可以自动转成数值0;直接输出true的值:1  false和null是没有输出结果

6.2 字串类型的转换字串在算术计算中可以自动转成数值:

规则:从字串前面开始找最大的数字即为数值"123abc" => 123"abc123" => 0"12a8c3" => 12"abcd" => 0"12.4bd" => 12.4"12e4abc"=> 12e47. 

常量定义:  常量:一定义赋值后,不可以再次修改和销毁的量,成为常量特点: 在后面的所有程序中都可使用(对象中,函数内....)  

格式:define(常量名,值[,bool]);如: define("PI",3.14);使用: echo PI;  

要求: 常量名必须全部大写  

目的:1.便于记忆  2. 便于理解 

系统中常用常量: 

echo "当前系统: PHP_OS

echo "PHP版本: PHP_VERSION

echo "当前文件名:__FILE__

 echo "当前行号: __LINE__

 echo "当前所在文件夹:__DIR__

get_defined_constants() 获取PHP中所有常量

常用函数:

gettype();获取一个变量的类型

*unset();  销毁一个变量

*isset();  判断一个变量是否存在

*empty();  判断一个变量是否不存在。

*var_dump(); 格式化输出指定变量信息(包含类型)

is_bool():判断是否是布尔型

is_int()、

is_integer()和is_long():判断是否为整型。

is_float()、is_double()和is_real():判断是否为浮点型

is_string():判断是否为字符串

*is_array():判断是否为数组

*is_object():判断是否为对象

s_resource():判断是否为资源类型

is_null():判断是否为null

is_scalar():判断是否为标量

*is_numeric():判断是否是任何类型的数字和数字字符串

is_callable():判断是否是有效的函数名计算机的位的换算1T=1024G 1G=1024MB  1MB=1024KB  1KB = 1024B(字节)  1B(字节)=8b(位)二进制:0000 0000~1111 1111  十进制:-128~127

PHP中如何判断一个对象是否为空

很简单,比如有一个名叫data的对象,对象一旦被创建就不是空的,我们可以判断对象类是否有我们需要的数据来判断它是不是空,比如,我的data对象里有个变量name,如果没有这个name,我就认为它是空,

if(isset($data->name)){

echo:"这不是空对象"

}else{

echo:"一个空对象"}

php 可以直接创建对象吗

必须先实例化。

class classname{

}

new classname();关键字

关于PHP如何定义一个空对象

在写接口的过程当中,手机端有需求说不让返回json数组,要返回一个对象。

那么我们可以怎么做呢?

其实很简单,强制转换即可。

声明空对象:

$empty_object=(object)array();

或者

$empty_object=(object)null;

把数组转换为对象:

$arr=array(‘a’,'b’);

$empty_object=(object)$arr;

关于php如何创建空对象的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php如何创建空对象 php数组的方法的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did209398
更新时间:2023-05-03   阅读:36次

上一篇: php源码下载连锁 php源代码下载

下一篇:php注册源码 php登录注册源码

最新资料更新

  • 1.php判断字符串的编码 php 判断字符串是否存在某个字符串
  • 2.zblogphp分类 zblog asp
  • 3.php登录保护机制 php保持登录状态
  • 4.php好的入门书籍 php好的入门书籍在哪里
  • 5.php读取数据库字段值 php读取sql
  • 6.phpdelete的简单介绍
  • 7.php正则到底 php中的正则表达式
  • 8.20个php函数 php的system函数
  • 9.php包含eaplay吗 php是否包含
  • 10.imagephp缩放 缩放图像可以改变图像的分辨率吗
  • 11.php链接数据库创建表格 php连接数据库的方法
  • 12.php技术网学习 php技术门户
  • 13.php菱形的输出 php输出菱形星号
  • 14.php登陆检测 php登录原理
  • 15.php5.4.13的简单介绍
  • 16.qbapi.php的简单介绍
  • 17.php中数据汇总 php数据统计
  • 18.php匹配尖括号 括号匹配python代码
  • 19.phpapache占有 php apc缓存
  • 20.php防止ajax接口 php防止接口多次请求

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]