使用form表單post數(shù)據(jù)到PHP,然后用file_put_contents($fileName, $data)寫入文件,$fileName是文件名,$data是要寫入的數(shù)據(jù)
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、岱岳ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的岱岳網(wǎng)站制作公司
新建一個(gè)a.php文件,將下面的復(fù)制進(jìn)去訪問一下,填寫后點(diǎn)擊提交,會(huì)生成一個(gè)a.txt的文件,里面是你填寫的內(nèi)容
可能會(huì)有一個(gè)notice的報(bào)錯(cuò),不必理會(huì)
?php
$data = $_POST['text'];
$fileName = 'a.txt';
file_put_contents($fileName, $data);
?
!doctype html
html
head
meta charset="utf-8"
titletest/title
/head
body
form action="./a.php" method="post"
textarea name="text" id="" cols="30" rows="10"/textarea
input type="submit" value="提交"
/form
/body
/html
//記錄返回值
? ? $write_data_a = [
? ? ? ? 'html_url'? =? $getUrl,
? ? ? ? 'ip'? ? = $this-get_real_ip(),
? ? ? ? 'time'? =? date("Y-m-d H:i:s",time()),
? ? ? ? 'res'?? = $response
? ? ];
//轉(zhuǎn)化為JSON
? ? $write_data_a = json_encode($write_data_a) . '||' . "\n";
? ? $date = date("Y-m-d", time());
//項(xiàng)目路徑目錄,判斷是否存在,不存在則創(chuàng)建
? ? $lujing = "./360_mobile_res_sd";
? ? if(!is_dir($lujing)){
? ? ? ? mkdir(iconv("UTF-8", "GBK", $lujing),0777,true);
? ? }
//文件,判斷是否存在,不存在則創(chuàng)建
? ? $TxtFileName = "./360_mobile_res_sd/" . $date . "_2.txt";
? ? //以讀寫方式打?qū)懼付ㄎ募?,如果文件不存則創(chuàng)建
? ? if(file_exists($TxtFileName))
? ? {
//存在,追加寫入內(nèi)容
? ? ? ? file_put_contents($TxtFileName, $write_data_a, FILE_APPEND);
? ? }
? ? else
? ? {
//不存在,創(chuàng)建并寫入
? ? ? ? if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){
? ? ? ? ? ? exit();
? ? ? ? }
? ? ? ? if(!fwrite ($TxtRes,$write_data_a)){ //將信息寫入文件
? ? ? ? ? ? fclose($TxtRes);
? ? ? ? ? ? exit();
? ? ? ? }
? ? ? ? fclose ($TxtRes); //關(guān)閉指針
? ? }
表單頁a.php:
form action="b.php" method="get"
input name="content" type="text" /
label
input type="submit" name="Submit" value="提交"
/label
/form
寫入頁 b.php:
?
$str=$_GET[content];
echo $str."br";
$fp=fopen("b.txt","w");
fwrite($fp,$str);//寫入
fclose($fp);
readfile("b.txt");//讀取
?
首先,把PHP數(shù)組中的數(shù)據(jù)寫入JSON文件。
?php
//?生成一個(gè)PHP數(shù)組
$data?=?array();
$data['a']?=?'test';
$data['b']?=?'bbb';
//?把PHP數(shù)組轉(zhuǎn)成JSON字符串
$json_string?=?json_encode($data);
//?寫入文件
file_put_contents('test.json',?$json_string);
?
然后,把JSON文件中的數(shù)據(jù)讀取到PHP變量中。
?php
//?從文件中讀取數(shù)據(jù)到PHP變量
$json_string?=?file_get_contents('test.json');
//?把JSON字符串轉(zhuǎn)成PHP數(shù)組
$data?=?json_decode($json_string,?true);
//?顯示出來看看
var_dump($data);
?
前幾天,小異看到國外一位網(wǎng)友使用HTML5游戲引擎Phaser 3 制作了他的個(gè)人網(wǎng)站。
好家伙,逼格拉滿了,這哪里是一個(gè)平平無奇的個(gè)人網(wǎng)站啊,完全就是一個(gè)神奇寶貝風(fēng)格的游戲網(wǎng)站!
這個(gè)極具特色的個(gè)人網(wǎng)站的其他部分的制作是簡(jiǎn)單地使用了CSS和JS。你可以通過鼠標(biāo)操控小人物參觀代表作者不同經(jīng)歷和信息介紹的建筑物,游戲體驗(yàn)感十足!
在原帖子下方,還“炸”出了許多深藏不露的Web開發(fā)高手。
有把自己的個(gè)人網(wǎng)站設(shè)計(jì)成超級(jí)馬里奧游戲的軟件工程師。
有把自己的個(gè)人網(wǎng)站設(shè)計(jì)成沉浸式網(wǎng)絡(luò)拉面店的技術(shù)顧問。
有把自己的個(gè)人授課網(wǎng)站設(shè)計(jì)成3D汽車游戲的Web開發(fā)人員。
看了這些有趣的個(gè)人網(wǎng)站,小異特別羨慕,也想學(xué)好Web開發(fā)。
因此,小異特地去請(qǐng)教了一位擁有多年Web開發(fā)經(jīng)驗(yàn)的程序員朋友,他給我總結(jié)了Web開發(fā)快速上手搞懂的幾個(gè)要點(diǎn),用他的原話就是“抓住幾個(gè)重點(diǎn)問題,你就學(xué)會(huì)了Web編程”!
今天,小異也不藏私,一起分享給大家。
— 01 —
明白Web開發(fā)到底是什么?
首先,概念性的東西要清楚。
比如,我們常說的Web開發(fā)通常是指前端開發(fā)與后端開發(fā)的組合。
前端開發(fā)是指開發(fā)用戶直接看到的網(wǎng)站部分,如布局、設(shè)計(jì)和互動(dòng)性。
一個(gè)網(wǎng)站的每一個(gè)面向客戶的東西都屬于前端開發(fā),主要通過HTML、CSS、JavaScript、AJAX、DOM等技術(shù)實(shí)現(xiàn)網(wǎng)站在客戶端的顯示和交互功能。
后端開發(fā)處理的是后端邏輯,與處理開發(fā)網(wǎng)站客戶端的前端開發(fā)不同。
后端開發(fā)主要通過Java、PHP、Python和Node.js等技術(shù)對(duì)從前端頁面?zhèn)鬏攣淼臄?shù)據(jù)進(jìn)行處理,按照需要將數(shù)據(jù)存入數(shù)據(jù)庫,或者通過模板引擎來處理數(shù)據(jù),接著以變量的方式將其展示到頁面模板上,最終輸出頁面到瀏覽器并進(jìn)行渲染。
你也可以這樣簡(jiǎn)單地理解,前端開發(fā)用于構(gòu)建用戶界面,而后端開發(fā)用于構(gòu)建系統(tǒng)架構(gòu)以使網(wǎng)頁正常工作。
— 02 —
明白Web服務(wù)器的工作原理
一般來說,Web服務(wù)器也稱為WWW(WORLD WIDE WEB)服務(wù)器,是指網(wǎng)站服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽服務(wù)。
當(dāng)互聯(lián)網(wǎng)上運(yùn)行在其他計(jì)算機(jī)中的瀏覽器發(fā)出請(qǐng)求時(shí),服務(wù)器才會(huì)響應(yīng)。目前最主流的服務(wù)器是 Apache、Nginx和IIS。
Web服務(wù)器的工作原理可以概括為:
(1)客戶端通過TCP/IP協(xié)議和Web服務(wù)器建立TCP連接。
(2)連接建立以后,向Web服務(wù)器發(fā)送HTTP協(xié)議請(qǐng)求包。
(3) Web服務(wù)器對(duì)請(qǐng)求按照HTTP協(xié)議進(jìn)行解碼。
(4)如果沒有錯(cuò)誤出現(xiàn), Web服務(wù)器將執(zhí)行請(qǐng)求所要求的動(dòng)作,向客戶端發(fā)送HTTP協(xié)議應(yīng)答包。
(5)客戶端與Web服務(wù)器斷開,關(guān)閉文件和網(wǎng)絡(luò)連接,結(jié)束會(huì)話。
— 03 —
HTML5的語法、標(biāo)記方法、元素
編寫Web應(yīng)用逃不開HTML,不管是在線的還是離線的,所以Web開發(fā)者應(yīng)該學(xué)習(xí)HTML5相關(guān)知識(shí)。
HTML5是新一代的HTML標(biāo)準(zhǔn),新增了很多特性。HTML5的結(jié)構(gòu)、語法、標(biāo)記方法、元素,像、、meta元素.....這些常用的標(biāo)簽,常見的特殊字符,還有常用表單的寫法,你要是都能信手拈來,那寫網(wǎng)頁肯定沒問題。
— 04 —
CSS語法
都說門面功夫要做到位,你開發(fā)的Web項(xiàng)目也得有賞心悅目的外觀。而Web開發(fā)中的面子工程靠的就是CSS。
你需要熟悉CSS中經(jīng)典屬性的用法,還有CSS3中的選擇器、背景、邊框、盒子模型、布局方式、動(dòng)畫、濾鏡,以及針對(duì)各種瀏覽器應(yīng)該怎樣在代碼中設(shè)置各種屬性等。
— 05 —
熟悉各種Web開發(fā)編程語言,同時(shí)精通一門
如果你是Web開發(fā)初學(xué)者,在這種情況下,你很有可能在選擇最佳Web編程語言時(shí)面臨很多困難。因?yàn)椴煌木幊陶Z言支持不同的編程技術(shù),并各有各的復(fù)雜性。
一個(gè)優(yōu)秀的前端開發(fā)人員應(yīng)該對(duì)HTML,CSS,JavaScript有很強(qiáng)的理解,一個(gè)優(yōu)秀的后端開發(fā)人員應(yīng)該熟悉服務(wù)器端語言,即PHP、Python、Java。
為此,小異列出了一些最適合 Web 開發(fā)的編程語言,你不需要學(xué)習(xí)所有的編程語言,但請(qǐng)你根據(jù)實(shí)際需要選擇最合適的一種。
● JavaScript
JavaScript是唯一能讓你既可以建立Web應(yīng)用程序、前端和后端,又可以構(gòu)建移動(dòng)應(yīng)用程序(React Native)的的編程語言。
毫無疑問,比較容易上手的JavaScript不僅是需求很高也是最受Web開發(fā)者喜愛的語言之一。如果你很糾結(jié)到底選擇那門編程語言,那就直接選擇JavaScript吧!
● Python
Python是另一種用于Web開發(fā)的編程語言。它被大約44%的軟件工程師使用,僅次于JavaScript,位居第二。Python的優(yōu)點(diǎn)主要有:語法簡(jiǎn)單、易于學(xué)習(xí),支持不同庫或工具,良好的可讀性,擁有優(yōu)秀的框架,具有強(qiáng)大的類型等。
● PHP
PHP是一種腳本語言,主要用于Web應(yīng)用、服務(wù)器端、WordPress、Facebook或Flickr等。PHP Web開發(fā)支持.NET、Bzip2、Apache等免費(fèi)開源擴(kuò)展。它提供微軟SQL、MySQL、Server等不同數(shù)據(jù)庫的訪問。
此外,PHP從第一版開始就一直使用類似Perl的變量,可以有效地結(jié)合到HTML中。
● Java
Java 廣泛用于制作企業(yè)級(jí)的 Web 應(yīng)用程序,很多大公司都在使用它。
選擇Java作為Web編程語言的主要是因?yàn)樗胸S富的開源庫,支持面向?qū)ο蟮木幊谭妒?,借?Java 虛擬機(jī)功能實(shí)現(xiàn)最佳平臺(tái)獨(dú)立性,高度安全,支持多線程,是分布式計(jì)算的理想選擇。
● Ruby
與Python和PHP一樣,Ruby也特別簡(jiǎn)單易學(xué),非常適合初學(xué)者。
并且,由于Ruby on Rails 框架可以用于開發(fā)網(wǎng)站,所以Ruby 也是 Web 開發(fā)的絕佳選擇。
— 06 —
知道都有哪些Web開發(fā)框架,會(huì)用其中一個(gè)
前端開發(fā)人員應(yīng)該知道各種Web開發(fā)框架和庫,如Bootstrap,React,AngularJS,EmberJS等。后端開發(fā)人員應(yīng)該知道Express.js,Django,Laravel,Ruby等框架。
— 07 —
路徑問題
在Web開發(fā)中經(jīng)常會(huì)遇到路徑問題,而如果你對(duì)Web中的路徑相關(guān)概念一知半解的話,總會(huì)遇到令人頭疼的問題。為了避免錯(cuò)誤,提高開發(fā)效率,你需要對(duì)它有足夠的認(rèn)識(shí)。
路徑通常分為絕對(duì)路徑和相對(duì)路徑。
絕對(duì)路徑指文件的完整URL,例如:
而相對(duì)路徑指以當(dāng)前網(wǎng)頁所在位置為基準(zhǔn)建立出的目錄路徑,例如:
— 08 —
數(shù)據(jù)庫訪問
目前比較容易并且普遍的數(shù)據(jù)庫訪問技術(shù)主要有四種,分別是JDBC、ODBC、ADO.NET和PDO,復(fù)雜點(diǎn)的技術(shù)可以等Web開發(fā)水平上去了再學(xué)習(xí)。
想要輕松上手Web開發(fā),掌握J(rèn)DBC就差不多可以了。JDBC是一種用于java程序鏈接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。它是由java編寫的類和接口實(shí)現(xiàn)的,是一種可以執(zhí)行SQL的java API。
如果開發(fā)的是簡(jiǎn)單的Web應(yīng)用,JDBC夠你用了,學(xué)習(xí)使用時(shí),特別注重對(duì)Connection接口、Statement接口和ResultSet接口的學(xué)習(xí),就能編寫一些簡(jiǎn)單的代碼了。
要是這些基礎(chǔ)的東西,你都能搞定了,那應(yīng)該能找到一份養(yǎng)活自己的Web開發(fā)工作了。
當(dāng)然,如果你的目標(biāo)不止是學(xué)會(huì),還要特別會(huì),達(dá)到精通,那小異建議你找個(gè)更加詳細(xì)的教程,按照大牛給出的路線學(xué)習(xí)。
這里,小異推薦一本新手自學(xué)Web開發(fā)的秘笈《零基礎(chǔ)入門學(xué)習(xí)Web開發(fā)(HTML5 CSS3)》給你。
▲跟著小甲魚,Web開發(fā)不迷路!
如果說搞懂上面幾點(diǎn),你就學(xué)會(huì)了Web編程開發(fā),那么,讀懂這本書的內(nèi)容,你就能成為Web開發(fā)的實(shí)戰(zhàn)高手。
因?yàn)?,這本源自B站同名視頻教程,擁有百萬播放量的《零基礎(chǔ)入門學(xué)習(xí)Web開發(fā)(HTML5 CSS3)》主打特色就是實(shí)戰(zhàn)性。
書中精解HTML 5和CSS3中233個(gè)語法知識(shí)點(diǎn)和多種網(wǎng)頁的設(shè)計(jì)技巧;
還手把手帶你實(shí)現(xiàn)上百個(gè)Web開發(fā)案例,數(shù)十種布局方式,源碼拿來即可用。它附贈(zèng)源代碼,可運(yùn)行在macOS、Linux、 Windows等操作系統(tǒng)平臺(tái);
文章編輯:羅夢(mèng)婷 審校:桐希
參考文獻(xiàn):
《零基礎(chǔ)入門學(xué)習(xí)Web開發(fā)(HTML5 CSS3)》第一章、第二章
How Long Does It Take To Become A Web Developer?
What Are The Best Programming Language For Web Development
將我的個(gè)人網(wǎng)站制作成了一個(gè)神奇寶貝風(fēng)格的小游戲
1
END
//第一種?
?php
$conn?=?mysql_connect("主機(jī)名","用戶名","密碼");
mysql_select_db("數(shù)據(jù)庫名",$conn);
$sql?=?"select?*?from?user";
$result?=?mysql_query($sql);
$data="";
while($row?=?mysql_fetch_row($result)){
foreach($row?as?$v){
$data?.=$v."|";??????//加個(gè)樹線隔開字段
}
nl2br($data);????//讀完一行回車
}
file_put_contents("abc.txt",$data);
//第二種
?php
$filename?=?"abc.txt";
$res?=?fopen($filename,"r");
while(!feof($res)){
$buffer?=?fgets($res);
$buffer?=?str_replace('?',?'|',?$buffer);?
$array?=?explode('|',?$buffer);?
foreach($array?as?$v){
if(strlen($v)0){
$arr[]?=?$v;
}
}
}
fclose($res);
//組裝數(shù)組插入數(shù)據(jù)庫就可以了