Ⅰ php如何防止任意文件读取
在程序中定义一个标识变量。对于一些重要的文件我们并不希望用户可以直接输入地址进行访问,在程序中定义一个标识变量简单伪造来源就可以。在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file,filegetcontents之类的函数,实现一个简单的文件阅读器。
Ⅱ php 如何读取本机文件
你的问题也就是PHP读取客户端的文件问题。
道理上来讲,我认为是不可以的,因为PHP是运行在服务端的,而且也要保证客户端的安全吧?
但可能可以解决的方法我认为也有两种,你不妨试试!
一:
利用JS,但必须是IE浏览器内核!因为用到的是IE插件ActiveXObject
<!DOCTYPEhtml><htmllang="zh-CN"><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title>TestActiveXObject</title><script>functionReadFiles(){if(window.ActiveXObject){//alert("yes");varfso=newActiveXObject("Scripting.FileSystemObject");varasd=fso.CreateTextFile("C:\a.txt");//创建文件asd.WriteLine("56984566");asd.close();varkk=fso.OpenTextFile("c:\a.txt");//打开文件while(!kk.atEndOfLine){document.writeln(kk.readLine());//读取文件,并输出}}else{//alert("no");}}</script></head><bodyonclick="ReadFiles();">ffffffffff</body></html>
这是一段HTML里的JS,你可以参考!然后加以修改。
方法二:
是一个构思,不知道能否实现!
是做为客户端的,让程序自行上传你想要的文件,然后达到可以看到的目前
Ⅲ php里面如何取文件(可安全用于二进制文件)
可以使用文件函数fread
Ⅳ php如何读取文本指定的内容
php读取文件内容:—–第一种方法—–fread()——–<?php$file_path = "test.txt";if(file_exists($file_path)){$fp = fopen($file_path,"r");$str = fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来echo $str = str_replace("\r\n","<br />",$str);}?>——–第二种方法————<?php$file_path = "test.txt";if(file_exists($file_path)){$str = file_get_contents($file_path);//将整个文件内容读入到一个字符串中$str = str_replace("\r\n","<br />",$str);echo $str;}?>—–第三种方法————<?php$file_path = "test.txt";if(file_exists($file_path)){$fp = fopen($file_path,"r");$str = "";$buffer = 1024;//每次读取 1024 字节while(!feof($fp)){//循环读取,直至读取完整个文件$str .= fread($fp,$buffer);} $str = str_replace("\r\n","<br />",$str);echo $str;}?>——-第四种方法————–<?php$file_path = "test.txt";if(file_exists($file_path)){$file_arr = file($file_path);for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容echo $file_arr[$i]."<br />";}/*foreach($file_arr as $value){echo $value."<br />";}*/}?>—-第五种方法——————–<?php$file_path = "test.txt";if(file_exists($file_path)){$fp = fopen($file_path,"r");$str ="";while(!feof($fp)){$str .= fgets($fp);//逐行读取。如果fgets不写length参数,默认是读取1k。}$str = str_replace("\r\n","<br />",$str);echo $str;}?>
Ⅳ php读取文件操作
在file读文件之前,无需使用fopen打开。你的加上索引不知道是什么意思,是不是把文件转换为二维数组呀,你试试看下面的代码:$data = file('date.txt');//读取全部内容; foreach ($data as $i=>$line) $data[$i]=explode(chr(8),$data[$i]);echo '<pre>';print_r($data);echo '</pre>';
Ⅵ php中读取txt文件的问题
php读取文件的方法有很多,常用的有:
file
fopen
file_get_contents
只是各个函数返回的版结果权不同
file返回的是数组
file_get_contents返回的是字符串
fopen直接返回的是一个文件资源
具体使用哪种可以根据实际情况而定
最好附上demo
print_r(file("test.txt"));echofile_get_contents("test.txt");$f=fopen("test.txt");fread($f,filesize("test.txt"));fclose($f);
Ⅶ 如何用php读取某个文件的属性信息
直接右击文件夹–属性—安全 选中user组将其权限设为可读写就可以了 如果文件夹是共享文件夹–就在共享和安全里面的权限中设置`这2个权限是不一样的
Ⅷ PHP读写权限问题,服务端可以随意读写文件吗
对于windows下的服务器,一般就是对目录做权限限制,使得匿名访问服务器的用户版(就是普通用户通过浏览器权访问服务器)除了自家的网站目录之外,对其他目录没有读写权限。对于linux下的服务器,因为linux的服务器比如apache等,是以apache这个用户运行的,linux又有完善的权限控制策略,对于系统文件(root用户),其他用户,除非这个文件或者文件夹对你有读写权限,php才能操作。当然没这么简单,在php的配置文件里还可以配置php能调用哪些对系统敏感的函数,比如列目录,创建文件等。未知用户获得权限,就是说明你的网站被黑了么~哈哈通过一些漏洞,hack拿到你网站的webshell,搞到你连接数据库的用户名密码,那当然就是可以为所欲为了。对于虚拟空间,php和ftp都有对整个目录的操作权限应该,(我没用过虚拟空间),但是对于这个目录的父目录肯定没权限了。如果是自己搭建一个服务器,你就会了解很多了。慢慢自己会知道的,三两句也说不清楚
Ⅸ php可不可以读取一个一直在写入的文件
因为php在读取文件的时候需要打开一个文件流,而正在操作的文件,他的文件流已经被打开了,所以php不能读取它,这里也给你提个醒,文件不用的时候就关闭它,这样用起来就不会出错了。
Ⅹ B.php中读取文件内容的几种方法
php读取文件内容:—–第一种方法—–fread()——–<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str= fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来echo $str = str_replace("\r\n","<br/>",$str);}?>123456789101112131415161718——–第二种方法————<?php$file_path= "test.txt";if(file_exists($file_path)){$str= file_get_contents($file_path);//将整个文件内容读入到一个字符串中$str= str_replace("\r\n","<br/>",$str);echo$str;}?>—–第三种方法————<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str= "";$buffer= 1024;//每次读取1024 字节while(!feof($fp)){//循环读取,直至读取完整个文件$str.= fread($fp,$buffer);}$str= str_replace("\r\n","<br/>",$str);echo$str;}?>——-第四种方法————–<?php$file_path= "test.txt";if(file_exists($file_path)){$file_arr= file($file_path);for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容echo$file_arr[$i]."<br/>";}/*foreach($file_arras $value){echo$value."<br />";}*/}?>2526272829303132333435—-第五种方法——————–<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str="";while(!feof($fp)){$str.= fgets($fp);//逐行读取。如果fgets不写length参数,默认是读取1k。}$str= str_replace("\r\n","<br/>",$str);echo$str;}?>252627282930313233343536