php读取文件 php写入文件方法实例

php读写文件的方法实例

php写文件的方法

$filename = 'test.txt';
$filename = dirname ( __FILE__ ) . '/' . $filename;
if (file_exists ( $filename )) {
	if (! is_writable ( $filename )) {
		exit('is not writable');
	}
	$handle = fopen ( $filename, "a+b" );
	$content = 'this is test words';
	$content .= "n";
	fwrite($handle, $content);
	fclose ( $handle );
} else {
	exit('file is not exists');
}
$filename = 'test.txt';
$filename = dirname ( __FILE__ ) . '/' . $filename;
if (file_exists ( $filename )) {
	if (! is_writable ( $filename )) {
		exit('is not writable');
	}
	$content = 'this is test words';
	$content .= "n";
	file_put_contents($filename, utf8_encode($content));
} else {
	exit('file is not exists');
}

php读取文件

$filename = 'test.txt';
		$filename = dirname ( __FILE__ ) . '/' . $filename;
		if (file_exists ( $filename )) {
			if (! is_readable ( $filename )) {
				exit('is not readable');
			}
			$contents = file_get_contents($filename);
			$contents = explode("n", $contents);
			print_r($contents);
		} else {
			exit('file is not exists');
		}
		$filename = 'test.txt';
		$filename = dirname ( __FILE__ ) . '/' . $filename;
		if (file_exists ( $filename )) {
			if (! is_readable ( $filename )) {
				exit('is not readable');
			}
			$handle = fopen ( $filename, "rb" );
			$contents = fread($handle, filesize ($filename));
			//$contents = stream_get_contents($handle); // 也可以用方法替换上一行
			$contents = explode("n", $contents);
			fclose ( $handle );
			print_r($contents);
		} else {
			exit('file is not exists');
		}

SQL语句转换Mongo对照表 sql mongo对应关系 SQL to Mongo Mapping Chart

下表为php官方提供的MongoDB与SQL语句对应关系表
SQL语句转换Mongo对照表 sql mongo对应关系 SQL to Mongo Mapping Chart

SQL to Mongo Mapping Chart

This is a PHP-specific version of the » SQL to Mongo mapping chart in the main docs.

SQL Statement Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) $db->users->insert(array(“a” => 1, “b” => 1));
SELECT a,b FROM users $db->users->find(array(), array(“a” => 1, “b” => 1));
SELECT * FROM users WHERE age=33 $db->users->find(array(“age” => 33));
SELECT a,b FROM users WHERE age=33 $db->users->find(array(“age” => 33), array(“a” => 1, “b” => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name $db->users->find(array(“age” => 33), array(“a” => 1, “b” => 1))->sort(array(“name” => 1));
SELECT * FROM users WHERE age>33 $db->users->find(array(“age” => array(‘$gt’ => 33)));
SELECT * FROM users WHERE age<33 $db->users->find(array(“age” => array(‘$lt’ => 33)));
SELECT * FROM users WHERE name LIKE “%Joe%” $db->users->find(array(“name” => new MongoRegex(“/Joe/”)));
SELECT * FROM users WHERE name LIKE “Joe%” $db->users->find(array(“name” => new MongoRegex(“/^Joe/”)));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array(“age” => array(‘$gt’ => 33, ‘$lte’ => 40)));
SELECT * FROM users ORDER BY name DESC $db->users->find()->sort(array(“name” => -1));
CREATE INDEX myindexname ON users(name) $db->users->ensureIndex(array(“name” => 1));
CREATE INDEX myindexname ON users(name,ts DESC) $db->users->ensureIndex(array(“name” => 1, “ts” => -1));
SELECT * FROM users WHERE a=1 and b=’q’ $db->users->find(array(“a” => 1, “b” => “q”));
SELECT * FROM users LIMIT 10 SKIP 20 $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 $db->users->find(array(‘$or’ => array(array(“a” => 1), array(“b” => 2))));
SELECT * FROM users LIMIT 1 $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array(“z” => 3))->explain()
SELECT DISTINCT last_name FROM users $db->command(array(“distinct” => “users”, “key” => “last_name”));
SELECT COUNT(*y) FROM users $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array(“age” => array(‘$gt’ => 30)))->count();
SELECT COUNT(AGE) from users $db->users->find(array(“age” => array(‘$exists’ => true)))->count();
UPDATE users SET a=1 WHERE b=’q’ $db->users->update(array(“b” => “q”), array(‘$set’ => array(“a” => 1)));
UPDATE users SET a=a+2 WHERE b=’q’ $db->users->update(array(“b” => “q”), array(‘$inc’ => array(“a” => 2)));
DELETE FROM users WHERE z=”abc” $db->users->remove(array(“z” => “abc”));

原文地址:http://us.php.net/manual/en/mongo.sqltomongo.php

MongoDB安装调试 Mongodb教程 以及配置说明

windows系统:
把从官方下载的文件解压,这里我放在了 F:/mongodb 目录里
建立数据存储目录,这里我建立的目录为 F:/mongodb/data/db/

php驱动文件
如想在php环境中使用mongodb那么就需要安装php的驱动
去官网下载一个php接口驱动
下载地址:https://github.com/mongodb/mongo-php-driver/downloads
我当时下载的是php_mongo-1.2.12.zip 下载又升级了

下载后里面很多dll并不是随便都能用

经过测试发现 只有标记出来的这个驱动可用,如上图。

然后配置 php.ini 文件,加入这么一行

extension=php_mongo-1.2.12-5.4-vc9.dll

启动方法:
cmd命令下执行下面命令

F:/mongodb/bin/mongod  --dbpath F:/mongodb/data/db/

此命令启动mongodb并且 指定了数据存储目录

启动后用下面的命令连接测试

F:/mongodb/bin/mongo

PHP测试

// connect
$m = new Mongo();
// select a database
$db = $m->test;
// select a collection (analogous to a relational database's table)
$collection = $db->cartoons;
$obj = array( "title" => "Joe", "author" => "www.xxtime.com" );
// 插入2条数据
$collection->insert($obj);
$collection->insert($obj);
// 按条件查找
$cdt = array('title'=>'Joe');
$cursor = $collection->find($cdt);
// 输出结果
print_r($cursor);
foreach ($cursor as $obj)
{
    echo $obj["title"] .' | '. $obj["author"] . "<br />";
}

PHP测试的时候有个奇怪的情况。
用find()查找的时候 查找结果集是一个对象,但是这个对象 用 var_dump() 或者 print_r()却不能输出
必须用foreach 才能把对象里面的数据一个一个的输出

而findOne()查找的时候 查找的结果集 也是一个对象,却能用 var_dump() 或者 print_r()输出

不知道其他人有没有碰到这情况的。

经典php调试函数 打印函数 输出函数 zuitu格式输出数组对象函数

经典php调试函数 打印函数 输出函数 zuitu
这些调试函数我用了很久了,是在最土团购程序里面找的,尤其是dbx() 用着非常顺手,左手只需在键盘上按几下就ok,右手基本都不用参与
自从用了zuitu的调试函数 我做其他项目的时候 都会把这些调试函数转移过去。今天分享一下。。。


/***
 * 调试函数
 * @param
 * @return mixed
 ***/

function dbx() {
	echo '<pre>';
	if(func_num_args()){
		foreach (func_get_args() as $k => $v) {
			echo "------- dbx $k -------<br/>";
			print_r($v);
			echo "<br/>";
		}
	};
	echo '</pre>';
}

function dpx() {
    echo '<pre>';
	if(func_num_args()){
		foreach (func_get_args() as $k => $v) {
			echo "------- dbx $k -------<br/>";
			var_dump($v);
			echo "<br/>";
		}
	};
    echo '</pre>';
}

function dbt() {
    echo '<pre>';
	if(func_num_args()){
		foreach (func_get_args() as $k => $v) {
			echo "------- dbx $k -------<br/>";
			echo "<textarea cols=20 rows=6>";
			print_r($v);
			echo "</textarea>";
			echo "<br/>";
		}
	};
    echo '</pre>';

}

VMware linux 上网配置 虚拟机centos不能上网解决方案

这几天在我的虚拟机VMware上安装了 linux (centos6.3服务器版) 但是一直不能上网,然后我就深入的研究了下

分两种解决方案
不管是哪种方法都需要配置路由
用vi编辑器编辑路由配置文件

vi /etc/resolv.conf

路由配置文件填入如下配置
nameserver 8.8.8.8

下面分别介绍2种方法:
第一种:
是启动linux后用 shell命令配置 ip网关等,缺点是每次重启 还需要重新执行shell命令重新配置
2条命令分别如下

#配置第一块网卡的 ip 子网掩码等信息
ifconfig eht0 192.168.1.141 broadcast 192.168.1.255 netmask 255.255.255.0

#配置默认网关为192.168.1.1
route add default gw 192.168.1.1

这样就可以了,可以随便ping一个网址测试下

第二种方法:
是比较靠谱的

执行vi命令,配置IP地址以及网关等

vi /etc/sysconfig/network-scripts/ifcfg-eth0

配置内容参考如下(根据自己实际情况修改关键注意#号注释部分)

DEVICE=eth0				#eth0代表第一块网卡
BOOTPROTO=none			#值为dhcp时自动获取ip配置
ONBOOT=yes				#启动项加载,为no时不加载本配置会导致ip为127.0.0.1
TYPE=Ethernet
HWADDR=00:11:44:BD:RG:5E
IPADDR=192.168.1.141	#
NETMASK=255.255.255.0	#子网掩码
NTEWORK=192.168.1.0
GATEWAY=192.168.1.1		#网关

配置好后重启linux即可
说明:
1. BOOTPROTO=dhcp时会自动获取ip就不需要下面的一堆ip网关掩码等配置了
2. ONBOOT=yes一定为yes才会在启动加载此配置

以下相关问题:
Device eth0 has different MAC address than expected, ignoring
Device eth0 does not seem to be present, delaying initialization
DocumentRoot must be a directory
链接地址 http://blog.xxtime.com/?p=831

linux下安装apache php mysql 最简单有效的办法

直接利用
yum 或者 apt-get
Centos 系统下 用 yum, Ubuntu系统用apt-get

一下centos系统举例

yum install httpd : 安装apache服务器
yum install php : 安装php
yum install mysql : 安装mysql

得,就这么简单,不需要什么依赖库,因为 通过yum 或者 apt-get 会自动下载需要的依赖库,相当于 .rpm 文件

安装后 你要不知道安哪儿了 就这样

which httpd
which php
…..

查看全部路径

rpm -ql php
rmp -ql mysql
……