h5 php js實驗總結,H5學習_番外篇_PHP數據庫操作

1. 文件操作

1.1 打開關閉文件

fopen()

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )?

fopen()函數將resource綁定到一個流或句柄。綁定之后,腳本就可以通過句柄與此資源交互;

例1:以只讀方式打開一個位于本地服務器的文本文件

$fh = fopen("test.txt", "r");

例2:以只讀方式打開一個遠程文件

$fh = fopen("http://www.baidu.com", "r");

fclose()

bool fclose ( resource handle )

將 handle 指向的文件關閉 。如果成功則返回 TRUE,失敗則返回 FALSE;

文件指針必須有效,并且是通過 fopen() 或 fsockopen() 成功打開的;

雖然每個請求最后都會自動關閉文件,但明確的關閉打開的所有文件是一個好的習慣;

例:

$fh = fopen("test.txt", "r");

fclose($fh);

1.2 讀取文件

php 提供了很多從文件中讀取數據的方法,不僅可以一次只讀取一個字符,還可以一次讀取整個文件。

fread()

string fread ( int handle, int length )?

fread()函數從handle指定的資源中讀取length個字符,

當到達EOF或讀取到length個字符時讀取將停止。

如果要讀取整個文件,使用filesize()函數確定應該讀取的字符數;

例:

$file = "test.txt";

$fh = fopen( $file, "r");

$str = fread($fh, filesize($file));

echo $str;

fclose($fh);

fgets()

string fgets ( int handle [, int length] )?

fgets()函數從handle指定的資源中讀取一行字符。碰到換行符(包括在返回值中)、

EOF 或者已經讀取了 length - 1 字節后停止(看先碰到那一種情況);

例:

逐行讀取文件

$handle = fopen("data.txt", "r");

while(!feof($handle)){

$content = fgets($handle);

$content= iconv(‘gbk‘,‘utf-8‘,$content);

echo $content."
”;

}

fclose($handle);

注意:如果沒有指定 length,則默認為 1K,或者說 1024 字節。

file()

array file ( string $filename [, int $flags = 0 [, resource $context ]])

file()函數將文件讀取到數組中,各元素由換行符分隔。

例:

$arr = file("test.txt");

print_r($arr);

file_get_contents()

string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

file_get_contents()函數將文件內容讀到字符串中;

例:

$str = file_get_contents("test.txt");

echo $str;

1.3 寫入文件

fwrite()

int fwrite ( resource handle, string string [, int length] )

fwrite()函數將string的內容寫入到由handle指定的資源中。

如果指定length參數,將在寫入Length個字符時停止。

例:

$str = "test text";

$fh = fopen("test.txt", "a");

fwrite($fh, $str);

fclose($fh);

file_put_contents()

int file_put_contents ( string filename, string data [, int flags [, resource context]] )

file_put_contents()函數將一個字符串寫入文件,與依次調用fopen(),fwrite(),fclose()功能一樣;

例:

$str = "hello";

file_put_contents("test.txt", $str);

1.4 復制,重命名,刪除文件

copy()

bool copy ( string source, string dest )

將文件從 source 拷貝到 dest。如果成功則返回 TRUE,失敗則返回 FALSE。

例:Copy("test.txt", "test.txt.bak");

rename()

bool rename ( string oldname, string newname [, resource context] )

嘗試把 oldname 重命名為 newname。 如果成 功則返回 TRUE,失敗則返回 FALSE。

例:rename("test.txt", “test2.txt”);

unlink()

bool unlink ( string filename )

刪除文件,如果刪除成功返回true, 否則返回false;

例1:

刪除一個文本文件

unlink(“test.txt");

1.5 讀取目錄

copy()

bool copy ( string source, string dest )

將文件從 source 拷貝到 dest。如果成功則返回 TRUE,失敗則返回 FALSE。

例:Copy("test.txt", "test.txt.bak");

rename()

bool rename ( string oldname, string newname [, resource context] )

嘗試把 oldname 重命名為 newname。 如果成功則返回 TRUE,失敗則返回 FALSE。

例:rename("test.txt", “test2.txt”);

unlink()

bool unlink ( string filename )

刪除文件,如果刪除成功返回true, 否則返回false;

例1:

刪除一個文本文件

unlink(“test.txt");

scandir()

array scandir ( string directory [, int sorting_order [, resource context]] )

返回一個包含有 directory 中的文件和目錄的數組;

rmdir()

bool rmdir ( string dirname )

刪除目錄

mkdir()

bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )

?嘗試新建一個由 pathname 指定的目錄。

1.6 其他文件操作函數

filesize()

int filesize ( string filename )

取得文件的大小,以字節為單位

filectime()

int filectime ( string filename )

取得文件的創建時間,以unix時間戳方式返回

例:

$t = filectime("test.txt");

echo date("Y-m-d H:i:s", $t);

fileatime() 返回文件的最后改變時間;

filemtime() 返回文件的最后修改時間;

注:”最后改變時間”不同于 “最后修改時間”。最后改變時間指的是對文件inode數據的任何改變,包括改變權限,所屬組,擁有者等; 而最后修改時間指的是對文件內容的修改

file_exists() 檢查文件或目錄是否存在,如果存在返回true, 否則返回false;

is_readable() 判斷文件是否可讀,如果文件存在并且可讀,則返回true;

is_writable() 判斷文件是否可寫,如果文件存在并且可寫,則返回true;

1.7 解析目錄路徑函數

basename()

string basename ( string path [, string suffix] )

返回路徑中的文件名部份,當指定了可選參數suffix會將這部分內容去掉;

例:

2. 課上練習代碼

//打開文件

$rh = fopen(‘PHP_3.txt‘, ‘r+‘);

//讀取文件,第一個參數是文件句柄,第二個是讀取方式

//計算文件大小(字節)

$num = filesize(‘PHP_3.txt‘);

$str = fread($rh, $num);

echo $str;

//如果設置文件訪問錯誤,需要去更改文件的權限,屬性 --> 右下角--> 開放權限 --> 改為可讀可寫

echo "


";

//換行讀取 識別 enter 不識別

$str_1 = fgets($rh);

$str_2 = fgets($rh);

//換行讀取再次讀取還會繼續上次的讀取位置繼續讀取

echo $str_1;

echo "


";

echo $str_2;

//file 將文件內容轉化為數組,
直接轉化為換行,回車作為分隔符

$arr = file(‘PHP_3.txt‘);

print_r($arr);

echo "


";

//file_get_contents 讀取文件內容,返回字符串,并且可以讀取外部網絡數據

// echo file_get_contents(‘PHP_3.txt‘);

//直接讀取網站,存到一個文本中,可以直接獲取對方的頁面靜態布局,注意,是靜態的!

// $str_3 = file_get_contents(‘http://www.lanou3g.com‘);

// file_put_contents(‘PHP_3.txt‘, $str_3);

//重命名

// rename(‘PHP_3.txt‘, ‘1.txt‘);

// rename(‘1.txt‘,‘PHP_3.txt‘);

//文件拷貝 使用../ 替代上級文件夾

// copy(‘PHP_3.txt‘, ‘../test.txt‘);

//讀取目錄

//1.打開文件目錄句柄 .(一個點) 獲取本級目錄 ..(兩個點)是上級目錄

$rh_1 = opendir(‘.‘);

// $arr = readdir()

//readdir 獲取文件目錄,這個和 MySQL 一樣,必須使用循環取出

while ($num = readdir($rh_1)) {

//讀取出來的

echo $num;

echo "


";

}

//讀取目錄

print_r(scandir(‘.‘));

//創建一個新的文件夾

// mkdir(‘asdasd‘);

//刪除整個文件夾 刪除目錄必須保證目錄內部沒有其他文件

// $is_bool = rmdir(‘1‘);

//刪除

// unlink(‘PHP_3.txt‘);

//獲取文件創建時間

echo filectime(‘PHP_3.txt‘);

echo "


";

//返回文件最后訪問的時間

echo fileatime(‘PHP_3.txt‘);

echo "


";

//解析文件具體名稱

echo basename(‘PHP_3.txt‘,‘txt‘);

echo "


";

//獲取當前文件所在的目錄的名稱

echo dirname(‘file/PHP_3.txt‘);

echo "


";

//返回全程,拓展名,文件名

print_r(pathinfo("PHP_3.txt"));

//修改文件目錄權限

echo "


";

fclose($rh);

fclose($rh_1);

?>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371633.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ReactNative開發環境

此內容根據徐贏老師的文檔整理后寫處 原版地址:https://tuomaxu.gitbooks.io/reactnative/content/ ReactNative是跨平開發的解決方案,在開發平臺的選擇上,mac平臺和win平臺都可以。 所需要工具如下: 1,Nodejs環境 2&a…

Python自動化開發 - 字符串, 列表, 元組, 字典和和文件操作

一、字符串特性:字符串本身不可修改,除非字符串變量重新賦值。Python3中所有字符串都是Unicode字符串,支持中文。 >>> name "Jonathan" >>> name "Jonathan" "Ni" >>>print(na…

shiro java配置,InI 配置 - 跟我學 Apache Shiro_教程_Java開發社區

INI 配置之前章節我們已經接觸過一些 INI 配置規則了,如果大家使用過如 Spring 之類的 IoC/DI 容器的話,Shiro 提供的 INI 配置也是非常類似的,即可以理解為是一個 IoC/DI 容器,但是區別在于它從一個根對象 securityManager 開始。…

在Spring容器外部連接對象依賴項

有幾種有趣的方法可以設置在Spring容器外部實例化的對象的屬性和依賴關系。 用例首先,為什么我們需要在Spring容器之外進行依賴注入–我知道三個用例,其中我實例化了Spring容器之外的對象并需要注入依賴。 首先考慮使用Spring TaskExecutor執行一系列任…

前端學習路線匯總

https://123.w3cschool.cn/plk2fihttps://www.w3cschool.cn/nodejs/nodejs-global-object.htmlnode.js轉載于:https://www.cnblogs.com/sxz2008/p/7238773.html

MediaInfo源代碼分析 1:整體結構

博客地址:http://blog.csdn.net/leixiaohua1020/article/details/12016231 MediaInfo源代碼分析系列文章列表: MediaInfo源代碼分析 1:整體結構MediaInfo源代碼分析 2:API函數MediaInfo源代碼分析 3:Open()函數MediaI…

測試RESTful服務的客戶端

開發使用RESTful Web API的應用程序可能意味著開發服務器和客戶端。 為服務器端編寫集成測試可以像使用Arquillian來啟動服務器一樣容易,并且可以通過REST確保測試服務是否按預期工作。 問題是如何測試客戶端。 在本文中,我們將了解如何使用模擬來測試客…

linux mysql誤刪,linux下MySQL安裝與刪除?(Ubuntu)

1、MySQL安裝A)MySQL安裝: sudo apt-get install mysql-server mysql-clientB)啟動/停止MySQL服務:MySQL 在安裝以后,MySQL 就已經啟動;如果需要手動啟動或停止則如下操作:手動啟動服務: sudo start mysql手…

對多態的理解例子

public class A {public String show(D obj) {return ("A and D");}public String show(A obj) {return ("A and A");} }class B extends A{public String show(B obj){ //重載return ("B and B");}public String show(A obj){ //重寫show(A obj…

【Java每日一題】20170120

20170119問題解析請點擊今日問題下方的“【Java每日一題】20170120”查看(問題解析在公眾號首發,公眾號ID:weknow619) package Jan2017; import java.util.Arrays; import java.util.List; public class Ques0120 { publ…

使用NoSQL實現實體服務–第2部分:合同優先

現在該開始使用NoSQL項目對SOA實體服務進行編碼了,并且正如我所承諾的,我將從Web服務的合同開始。 看一下本系列的第1部分 。 這種從Web服務合同定義開始的技術是面向服務的體系結構實現的“合同優先”方法的核心,并具有許多技術優勢&#xf…

php hugepage,【原創】解決Redis啟動報錯:Transparent Huge Pages (THP) support enabled in your kernel...

問題背景Redis啟動報錯:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel.This will create latency and memory usage issues with Redis.To fix this issue run the command echo never > /sys/kernel/mm/transparent_hugepage/…

hibernate cascade的真正含義

hibernate cascade 是 OneToOne OneToMany ManyToOne ManyToMany等注解的屬性&#xff0c;表示級聯操作。 /*** (Optional) The operations that must be cascaded to* the target of the association.** <p> By default no operations are cascaded.*/CascadeType[] cas…

射線碰撞檢測

在我們的游戲開發過程中&#xff0c;有一個很重要的工作就是進行碰撞檢測。例如在射擊游戲中子彈是否擊中敵人&#xff0c;在RPG游戲中是否撿到裝備等等。在進行碰撞檢測時&#xff0c;我們最常用的工具就是射線&#xff0c;Unity 3D的物理引擎也為我們提供了射線類以及相關的函…

高級ZK:異步UI更新和后臺處理–第1部分

異步UI更新非常有用&#xff0c;因為它們通常可以提高響應性&#xff0c;可用性和用戶界面的總體感覺。 我將在這里重點介紹ZK框架&#xff0c;但是通常&#xff0c;相同的原理也適用于桌面UI&#xff08;Swing&#xff0c;SWT&#xff09;。 長時間運行的處理 有時&#xff0…

php注冊登錄遍寫入 遍驗證,自動注冊登錄驗證機制的php代碼

在phpwind站點后臺添加“廣告管家”(CNZZ的一款廣告投放的應用)的應用&#xff0c;整個“廣告管家”通過iframe載入&#xff0c;載入的具體內容根據不同站點顯示針對該站點的具體內容。出于意用性方面的考慮&#xff0c;需要以下二點&#xff1a;1、首次進入“廣告管家”頁面自…

轉載:tensorflow保存訓練后的模型

訓練完一個模型后&#xff0c;為了以后重復使用&#xff0c;通常我們需要對模型的結果進行保存。如果用Tensorflow去實現神經網絡&#xff0c;所要保存的就是神經網絡中的各項權重值。建議可以使用Saver類保存和加載模型的結果。 1、使用tf.train.Saver.save()方法保存模型 tf.…

php url傳遞變量,php – 在laravel中通過url傳遞變量

我是laravel的新手,我正在努力讓我的網址格式正確.格式為http://mysite/blog?category1 instead of http://mysite/blog/category1這些是我正在使用的文件,有沒有辦法將路由放入BlogControllerRoute.phpRoute::get(blog/{category}, function($category null){// get all the…

Apache Wicket:記住我的功能

在Web應用程序中&#xff0c;具有“記住我”功能非常普遍&#xff0c;該功能使用戶每次訪問我們的網站時都能自動登錄。 可以使用Spring Security來實現這種功能&#xff0c;但我認為將基于請求的身份驗證框架與基于組件的Web框架結合使用并不是最好的主意。 這兩個世界不能很好…

Ubuntu 安裝中文

系統環境&#xff1a; 1. 官網 http://pinyin.sogou.com/linux/ 下載安裝包。 2. 先運行 apt-get update 。 3. 再運行 apt-get -f install 。 4. 再運行 可能有的UBuntu系統自帶了。 5. 如果下載的搜狐輸入法安裝包的格式為 .deb 的&#xff0c; 運行 &#xff1a; dpk…