9.PHP文件处理
PHP文件系统
(当成是扩展C++来看就行了,几乎一样):
读取整个文件readfile() 、file()、 file_get_contents()
<?php
readfile('file.dat');
echo '<br>';
$f_arr = file('file.dat');
foreach($f_arr as $cont){
echo $cont."<br>";
}
echo '<br>';
$f_chr = file_get_contents('file.dat');
echo $f_chr;
?>
读取一个字符就用 string fgetc(resource handle)
读取制定长度的字符 string fread(resource handle ,int length)
获取一行数据fgets() fgetss()
<?php
$fopen = fopen('file.dat' ,'rb');
while(!feof($fopen)){
echo fgets($fopen);
}
fclose($fopen);
echo'<br>..................<br>';
$fopen2 = fopen('file.dat' ,'rb');
while(!feof($fopen2)){
echo fgetss($fopen2);
}
fclose($fopen2);
?>
将数据写入文件:fwrite() file_put_contents()
<?php
$filepath = "w.txt";
$str = "ci qing ke dai cheng zhui yi ,zhi shi dang shi yi wang ran<br>";
$fopen = fopen($filepath ,'wb') or dir('wen jian bu cun zai');
fwrite($fopen ,$str);
fclose($fopen);
readfile($filepath);
file_put_contents($filepath ,$str);
readfile($filepath);
?>
文件操作:
目录处理
枚举目录:
<?php
$path = 'C:';
if(is_dir($path)){
$dir = scandir($path);
foreach($dir as $value){
echo $value."<br>";
}
}else{
echo 'error';
}
?>
目录操作:
远程文件访问:
文件指针 rewind() fseek() ftell()
文件锁定:
文件上传:
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form action="" method="post" enctype="multipart/form-data">
<tr>
<td width="150" height="30" align="right" valign="middle">Wen Jian:</td>
<td width="250"><input type="file" name="upfile"/></td>
<td width="100"><input type="submit" name="submit" value="shang chuan"/></td>
</tr>
</form>
</table>
<?php
if(!empty($_FILES['upfile']['name'])){
// foreach($_FILES['upfile'] as $name => $value){
// echo $name.'='.$value.'<br>';
// }
$fileinfo = $_FILES['upfile'];
if($fileinfo['size'] < 10000000 && $fileinfo['size'] > 0){
move_uploaded_file($fileinfo['tmp_name'] ,$fileinfo['name']);
echo 'yes';
}else{
echo 'no';
}
}
?>
文件批量上传
<form action="" method="post" enctype="multipart/form-data">
<table id="up_table" border="1" bgcolor="f0f0f0">
<tbody id="auto">
<tr id="show">
<td>shang chuan</td>
<td><input name="u_file[]" type="file"></td>
</tr>
<tr>
<td>shang chuan</td>
<td><input name="u_file[]" type="file"></td>
</tr>
</tbody>
<tr><td colspan="4"><input type="submit" value="shang chuan"/></td></tr>
</table>
</form>
<?php
if(!empty($_FILES['u_file']['name'])){
$file_name = $_FILES['u_file']['name'];
$file_tmp_name = $_FILES['u_file']['tmp_name'];
for($i = 0 ;$i < count($file_tmp_name) ;$i ++){
if($file_name[$i] != ""){
move_uploaded_file($file_tmp_name[$i] ,$i.$file_name[$i]);
echo 'wen jian'.$file_name[$i].'yes<br>.';
}
}
}
?>
9.PHP文件处理的更多相关文章
- Mapreduce的文件和hbase共同输入
Mapreduce的文件和hbase共同输入 package duogemap; import java.io.IOException; import org.apache.hadoop.co ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- SQLSERVER将一个文件组的数据移动到另一个文件组
SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...
随机推荐
- 前端 JS 加密漏洞挖掘篇
案例一 oxo1 前言 某授权项目,登录口用户名和密码都进行了加密,之前从来没搞过记录一下学习过程. 看了CoolCat 师傅写的 https://github.com/TheKingOfDuck/b ...
- apicloud打包的ios证书的获取方法
apicloud云编译的时候,需要测试证书或者正式证书进行编译. 那么这个证书是怎么来的呢?通过什么渠道可以获取呢? 这里我介绍下使用香蕉云编这个在线工具来生成: 1.登录香蕉云编,生成证书的csr文 ...
- 爬虫必知必会(4)_异步协程-selenium_模拟登陆
一.单线程+多任务异步协程(推荐) 协程:对象.可以把协程当做是一个特殊的函数.如果一个函数的定义被async关键字所修饰.该特殊的函数被调用后函数内部的程序语句不会被立即执行,而是会返回一个协程对象 ...
- Codeforces Round #553 B. Dima and a Bad XOR
题面: 传送门 题目描述: 题意很简单:在一个N*M的矩阵中(N行M列),问是否可以:每行选一个整数,使他们的异或和大于0.如果不可以,输出"NIE":如果可以,输出"T ...
- Hive数据导出的几种方式
在hive的日常使用中,经常需要将hive表中的数据导出来,虽然hive提供了多种导出方式,但是面对不同的数据量.不同的需求,如果随意就使用某种导出方式,可能会导致导出时间过长,导出的结果不满足需求, ...
- Java字符串==和equals的区别
首先我们来了解一下String类,Java的字符串是一旦被赋值之后无法更改的(这里的无法更改是指不能将字符串中单个或一段字符重新赋值),这也是Java虚拟机为了减少内存开销,避免字符串的重复创建设立的 ...
- LuckyStar hctf2018
LuckyStar hctf2018 程序注册有TLS回调函数 char __stdcall TlsCallback_0(int a1, int a2, int a3) { char result; ...
- VSCode中插件Code Spell Checker
说在前面 介绍 Code Spell Checker 是在VSCode中的一款插件,能够帮助我们检查单词拼写是否出现错误,检查的规则遵循 camelCase (驼峰拼写法). 安装方法 打开VSCod ...
- InlineHook
前言 IATHOOK局限性较大,当我们想HOOK一个普通函数,并不是API,或者IAT表里并没有这个API函数(有可能他自己LoadLibrary,自己加载的),那我们根本就从导入表中找不到这个函数, ...
- 「HTML+CSS」--自定义加载动画【008】
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...