現在開始php與html的混編之路
php檔案可以嵌入html程式碼,但html檔案不可嵌入php程式碼,因為html是靜態檔案嘛
說說PHP 表單和使用者輸入
PHP 的$_GET 和$ _POST 用來取得表單提交的值
下面新建一個php檔案index.php
<html> <body> <form action="index.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
現在還是純html程式碼表單提交給自身,提交方式為post
現在加入php程式碼
<html> <body> <form action="index.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>rrrerereee在文件的任何地方,不需要在html標籤裡面
最後打印的就是你文本框輸入的結果
如果action為空,也是默認提交給文件自身
$_POST['name']; 可以用雙引號可以單引號,不加引號也能(但會提醒注意)
post提交方式不能用$_GET取得
下面用$_GET取得表單的值
<?php echo "Name:".$_POST['name']; echo "Age:".$_POST['age']; ?>
<html> <body> <form action="" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
為什麼要用$_GET? 在使用 $_GET 變數時,所有的變數名稱和值都會顯示在 URL 中。所以在發送密碼或其他敏感資訊時,不應該使用這個方法。不過,正因為變數顯示在 URL 中,因此可以在收藏夾中收藏該頁面。在某些情況下,這是很有用的。
HTTP GET 方法不適合大型的變數值;值是不能超過 100 個字元的。
一般用分頁,詳細資料顯示等
POST則一般是提交資料專用
另外還有一種$_REQUEST 請求的意思,表示客戶端的請求
PHP 的$_REQUEST 變數包含了$_GET, $_POST 以及$_CIE的內容。
PHP 的 $_REQUEST 變數可用於取得透過 GET 和 POST 方法傳送的表單資料的結果。
<?php echo "Name:".$_GET["name"]; echo "Age:".$_GET["age"]; ?>
<html> <body> <form action="" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
這種無論是get還是post提交方式都能獲取,但盡量少用。因為有時候你得確認對方是什麼方式提交的,還是分清楚比較好
下面說說 PHP Session 變數
當運行一個應用程式時,你會打開它,做些更改,然後關閉它。這很像會話。計算機清楚你是誰。它知道你何時啟動應用程序,並在何時終止。但在網際網路上,有一個問題:伺服器不知道你是誰以及你做什麼,這是由於 HTTP 位址無法維持狀態。透過在伺服器上儲存使用者資訊以便隨後使用,PHP session 解決了這個問題(例如使用者名稱、購買商品等)。不過,會話資訊是臨時的,在使用者離開網站後將被刪除。如果您需要永久儲存訊息,可以把資料儲存在資料庫中。 Session 的工作機制是:為每個訪客建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。 UID 儲存在 cookie 中,也或透過 URL 進行傳導。
在用session 中之前,首先必須啟動會話,這跟其他語言不同
<?php echo "Name:".$_REQUEST["name"]; echo "Age:".$_REQUEST["age"]; ?>
<?php session_start(); ?>
session_start() 函數必須位於 標籤之前
index.php頁面
<html> <body> </body> </html>
index頁面存入的seesion值就能在test頁面顯示出來無論是存入還是輸出,每個頁面都要session_start();一下
$_SESSION['name']; 同樣可以單雙引號或不加,似乎php裡都是這樣,以後不再重複了哈
如果希望刪除某些session 數據,可以使用unset() 或session_destroy() 函數。
<?php session_start(); ?>test.php
然後在到test.php 就無法輸出了
<?php session_start(); echo $_SESSION['name']; ?>
isset函數是檢查某個值是否被設定(賦值),就是判斷一個值是否為空
下面說
PHP Cookies
如何建立 cookie? setcookie() 函數用於設定 cookie。
setcookie() 函數必須位於 標籤之前。
<?php session_start(); ?>test.php
我們將創建名為 "user" 的 cookie,把為它賦值 "Hello world"。規定了此 cookie 在一小時後過期:
cookie一般保存在電腦哪裡?
以IE瀏覽器來說,保存在
C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files
Temporary Internet Files資料夾裡
你會發現以你php專案命名的txt文件,打開它
就可以看到內容啦,不過有些內容是加密的,但前半段
user
Hello+world
localhost/MyPHP/ 還是能看到的
取得cookie值
<?php session_start(); if(isset( $_SESSION['name'])) echo $_SESSION['name']; else echo "null"; ?>
$_COOKIE是取得cookie值的
<?php setcookie("user", "Hello world", time()+3600); ?>
$_COOKIE是取得cookie值的
,取得get,post,cookie都是用物件的,php顯然簡單的多,雖然是面向過程形式的
下面說php對檔案的處理
首先在專案根目錄建立一個檔案1.txt內容hello world
開啟檔案fopen() 函數用於在PHP 中開啟檔案。此函數的第一個參數含有要開啟的檔案的名稱,第二個參數規定了使用哪種模式來開啟檔案
<?php $file=fopen("1.txt","r"); ?>
$file这个变量是个资源变量,表示文件打开的状态
关于资源变量以后还会接触
文件可能通过下列模式来打开: 模式描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,则返回 FALSE。
x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
如果 fopen() 无法打开指定文件,则返回 0 (false)。
打开文件还不够,接着打印
<?php $file=fopen("1.txt","r"); $data=""; while(!feof($file)) { $data.=fgets($file); } fclose($file); echo $data; ?>
feof() 函数检测是否已达到文件的末端 (EOF)。在循环遍历未知长度的数据时,feof() 函数很有用。
fgets() 函数用于从文件中逐行读取文件。
在调用该函数之后,文件指针会移动到下一行。
fclose 关闭文件
另外fread函数也可以读取文件
<?php $file=fopen("1.txt","r"); $data=""; while(!feof($file)) { $data.=fread($file,4096); } fclose($file); echo $data; ?>
fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
fread与fgets的区别
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止.
fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.
其实还有文件写入,文件上传下载这些
暂时先简要介绍在这里,以后我接触的时候再说
以上就是php学习正式起航(5)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器