十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
表单页a.php:
创新互联建站主要从事成都做网站、成都网站设计、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务绥滨,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
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
$filename = 'test.txt';
$somecontent = "this is test string.";
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
echo "不能打开文件 $filename";
exit;
}
// 将$somecontent写入到我们打开的文件中。
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能写入到文件 quote;{$filename}quote;";
exit;
}
echo "已把quote;{$somecontent}quote;写入到文件quote;{$filename}quote;";
fclose($handle); //将指针关闭
} else {
echo "文件{$filename}不可写.";
}
?
第二种:
?php
$filename = "test.txt";
$content = "this is test string.";
$put = file_put_contens($filename,$content);
if(!put)
exit("write failed");
echo "write success";
?
方法一:
//将一个测试的数组写入一个PHP文件:
?php //要写入PHP文件的数组 $write_array = array( '1' = 'oneone', '2'
= 'two', '3' = 'three', '4' = 'four','5' = 'five' );
//字符串处理 $string_start = "?php\n"; $string_process =
var_export($write_array, TRUE);$string_end = "\n?"; $string =
$string_start.$string_process.$string_end; //开始写入文件
echofile_put_contents('test_array.php', $string); ?
这里用到了两个函数:
1,var_export():
·var_export — 用来输出或返回一个变量的字符串表示,它和 var_dump() 的区别是,var_export()
可以用来返回关于传递给该函数的变量的结构信息,并且其返回的表示是合法的 PHP 代码如果 “echo
$string_process;”,则可以看到输出结果:
array ( 1 = 'oneone', 2 = 'two', 3 = 'three', 4 = 'four', 5 = 'five', )
而它就是我们要写入 test_array.php 文件的内容(除去 php 标签);
·var_dump() 函数用来打印变量的相关信息,它只用来“打印”,而不会返回值,它的原型是 void var_dump(……),我们来 “var_dump($string_process);”,则可以看到输出结果:
string(86) "array ( 1 = 'oneone', 2 = 'two', 3 = 'three', 4 = 'four', 5 = 'five', )"
可以看到输出的string(86) “…”,再一次说明了 var_export() 返回的是一个字符串。
2,file_put_contents():
file_put_contents — 将一个字符串写入文件,原型是 int file_put_contents ( string
filename, string data [, int flags [, resource context]]
),这里我们只用到了两个参数,”string filename”:要写入的文件名;”string data”:字符串数据;
此函数返回写入到文件内数据的字节数,如果我们 “echo file_put_contents(’test_array.php’, $string);”,则会输出一个整数 :95。
因为输出的 array() 占了 86 个字节,还有的 $string_start 和 $string_end 又占了 9 个字节,转义字符 换行符 在这里只占 1 个字节。(不知道这样解释恰当不恰当,还有望大家多多指正)
方法二:json_encode()
我们常见一些网站在做ajax时返回JSON格式的数据:
返回的是json格式的数据返回的是json格式的数据
这有什么好处那?很显然前端在接到返回的数据时可以直接使用,而不用再用eval_r('(+ returnString +)')或者 $.parseJSON(returnString ) (jQuery的函数)来转化为js对象,这样显然为用户省电了。。。
在网上搜索了一下,这个问题在搜索中文信息的时候比较少,一些说是返回json的都是在前端进行的转化处理,根本不是返回JSON格式,其实返回json相当的简单。
原来的数据就是JSON格式
下例来自《锋利的jQuery》:
$(function(){
$('#send').click(function() {
$.getJSON('', function(data) {
$('#resText').empty();
var html = '';
$.each( data , function(commentIndex, comment) {
html += 'div class="comment"h6' +
comment['username'] + ':/h6p class="para"' +
comment['content'] + '/p/div';
})
$('#resText').html(html);
})
})
})
你需要做的就是将数据存储为格式正确的 .json或者.js 文件。以下为示例所传送的json格式的数据
[
{
"username": "张三",
"content": "沙发."
},
{
"username": "李四",
"content": "板凳."
},
{
"username": "王五",
"content": "地板."
}
]
php输出JSON格式
那么php如何输出json格式?php 使用json_encode函数,然后jQuery使用datatype:json 就可以了嘛? 它的输出如下:
php 使用json_encode函数,jQuery使用datatype:json的返回类型php 使用json_encode函数,jQuery使用datatype:json的返回类型
显然并非所愿。还是字符串,到底怎么实现?其实很简单,只要在php文件头部加入以下代码:
header('Content-type: text/json');
这个头就是告知此文件输出类型为 json,这种形式我们见的最多的是验证码——php输出验证图片,有时php可以输出css文件,js文件等做一些有趣的事情。好的,我们测试一下吧。查看示例
示例代码:
?php
header('Content-type: text/json');
$fruits = array (
"fruits" = array("a" = "orange", "b" = "banana", "c" = "apple"),
"numbers" = array(1, 2, 3, 4, 5, 6),
"holes" = array("first", 5 = "second", "third")
);
echo json_encode($fruits);
?
//记录返回值
$write_data_a = [
'html_url' = $getUrl,
'ip' = $this-get_real_ip(),
'time' = date("Y-m-d H:i:s",time()),
'res' = $response
];
//转化为JSON
$write_data_a = json_encode($write_data_a) . '||' . "\n";
$date = date("Y-m-d", time());
//项目路径目录,判断是否存在,不存在则创建
$lujing = "./360_mobile_res_sd";
if(!is_dir($lujing)){
mkdir(iconv("UTF-8", "GBK", $lujing),0777,true);
}
//文件,判断是否存在,不存在则创建
$TxtFileName = "./360_mobile_res_sd/" . $date . "_2.txt";
//以读写方式打写指定文件,如果文件不存则创建
if(file_exists($TxtFileName))
{
//存在,追加写入内容
file_put_contents($TxtFileName, $write_data_a, FILE_APPEND);
}
else
{
//不存在,创建并写入
if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){
exit();
}
if(!fwrite ($TxtRes,$write_data_a)){ //将信息写入文件
fclose($TxtRes);
exit();
}
fclose ($TxtRes); //关闭指针
}
前几天,小异看到国外一位网友使用HTML5游戏引擎Phaser 3 制作了他的个人网站。
好家伙,逼格拉满了,这哪里是一个平平无奇的个人网站啊,完全就是一个神奇宝贝风格的游戏网站!
这个极具特色的个人网站的其他部分的制作是简单地使用了CSS和JS。你可以通过鼠标操控小人物参观代表作者不同经历和信息介绍的建筑物,游戏体验感十足!
在原帖子下方,还“炸”出了许多深藏不露的Web开发高手。
有把自己的个人网站设计成超级马里奥游戏的软件工程师。
有把自己的个人网站设计成沉浸式网络拉面店的技术顾问。
有把自己的个人授课网站设计成3D汽车游戏的Web开发人员。
看了这些有趣的个人网站,小异特别羡慕,也想学好Web开发。
因此,小异特地去请教了一位拥有多年Web开发经验的程序员朋友,他给我总结了Web开发快速上手搞懂的几个要点,用他的原话就是“抓住几个重点问题,你就学会了Web编程”!
今天,小异也不藏私,一起分享给大家。
— 01 —
明白Web开发到底是什么?
首先,概念性的东西要清楚。
比如,我们常说的Web开发通常是指前端开发与后端开发的组合。
前端开发是指开发用户直接看到的网站部分,如布局、设计和互动性。
一个网站的每一个面向客户的东西都属于前端开发,主要通过HTML、CSS、JavaScript、AJAX、DOM等技术实现网站在客户端的显示和交互功能。
后端开发处理的是后端逻辑,与处理开发网站客户端的前端开发不同。
后端开发主要通过Java、PHP、Python和Node.js等技术对从前端页面传输来的数据进行处理,按照需要将数据存入数据库,或者通过模板引擎来处理数据,接着以变量的方式将其展示到页面模板上,最终输出页面到浏览器并进行渲染。
你也可以这样简单地理解,前端开发用于构建用户界面,而后端开发用于构建系统架构以使网页正常工作。
— 02 —
明白Web服务器的工作原理
一般来说,Web服务器也称为WWW(WORLD WIDE WEB)服务器,是指网站服务器,主要功能是提供网上信息浏览服务。
当互联网上运行在其他计算机中的浏览器发出请求时,服务器才会响应。目前最主流的服务器是 Apache、Nginx和IIS。
Web服务器的工作原理可以概括为:
(1)客户端通过TCP/IP协议和Web服务器建立TCP连接。
(2)连接建立以后,向Web服务器发送HTTP协议请求包。
(3) Web服务器对请求按照HTTP协议进行解码。
(4)如果没有错误出现, Web服务器将执行请求所要求的动作,向客户端发送HTTP协议应答包。
(5)客户端与Web服务器断开,关闭文件和网络连接,结束会话。
— 03 —
HTML5的语法、标记方法、元素
编写Web应用逃不开HTML,不管是在线的还是离线的,所以Web开发者应该学习HTML5相关知识。
HTML5是新一代的HTML标准,新增了很多特性。HTML5的结构、语法、标记方法、元素,像、、meta元素.....这些常用的标签,常见的特殊字符,还有常用表单的写法,你要是都能信手拈来,那写网页肯定没问题。
— 04 —
CSS语法
都说门面功夫要做到位,你开发的Web项目也得有赏心悦目的外观。而Web开发中的面子工程靠的就是CSS。
你需要熟悉CSS中经典属性的用法,还有CSS3中的选择器、背景、边框、盒子模型、布局方式、动画、滤镜,以及针对各种浏览器应该怎样在代码中设置各种属性等。
— 05 —
熟悉各种Web开发编程语言,同时精通一门
如果你是Web开发初学者,在这种情况下,你很有可能在选择最佳Web编程语言时面临很多困难。因为不同的编程语言支持不同的编程技术,并各有各的复杂性。
一个优秀的前端开发人员应该对HTML,CSS,JavaScript有很强的理解,一个优秀的后端开发人员应该熟悉服务器端语言,即PHP、Python、Java。
为此,小异列出了一些最适合 Web 开发的编程语言,你不需要学习所有的编程语言,但请你根据实际需要选择最合适的一种。
● JavaScript
JavaScript是唯一能让你既可以建立Web应用程序、前端和后端,又可以构建移动应用程序(React Native)的的编程语言。
毫无疑问,比较容易上手的JavaScript不仅是需求很高也是最受Web开发者喜爱的语言之一。如果你很纠结到底选择那门编程语言,那就直接选择JavaScript吧!
● Python
Python是另一种用于Web开发的编程语言。它被大约44%的软件工程师使用,仅次于JavaScript,位居第二。Python的优点主要有:语法简单、易于学习,支持不同库或工具,良好的可读性,拥有优秀的框架,具有强大的类型等。
● PHP
PHP是一种脚本语言,主要用于Web应用、服务器端、WordPress、Facebook或Flickr等。PHP Web开发支持.NET、Bzip2、Apache等免费开源扩展。它提供微软SQL、MySQL、Server等不同数据库的访问。
此外,PHP从第一版开始就一直使用类似Perl的变量,可以有效地结合到HTML中。
● Java
Java 广泛用于制作企业级的 Web 应用程序,很多大公司都在使用它。
选择Java作为Web编程语言的主要是因为它有丰富的开源库,支持面向对象的编程范式,借助 Java 虚拟机功能实现最佳平台独立性,高度安全,支持多线程,是分布式计算的理想选择。
● Ruby
与Python和PHP一样,Ruby也特别简单易学,非常适合初学者。
并且,由于Ruby on Rails 框架可以用于开发网站,所以Ruby 也是 Web 开发的绝佳选择。
— 06 —
知道都有哪些Web开发框架,会用其中一个
前端开发人员应该知道各种Web开发框架和库,如Bootstrap,React,AngularJS,EmberJS等。后端开发人员应该知道Express.js,Django,Laravel,Ruby等框架。
— 07 —
路径问题
在Web开发中经常会遇到路径问题,而如果你对Web中的路径相关概念一知半解的话,总会遇到令人头疼的问题。为了避免错误,提高开发效率,你需要对它有足够的认识。
路径通常分为绝对路径和相对路径。
绝对路径指文件的完整URL,例如:
而相对路径指以当前网页所在位置为基准建立出的目录路径,例如:
— 08 —
数据库访问
目前比较容易并且普遍的数据库访问技术主要有四种,分别是JDBC、ODBC、ADO.NET和PDO,复杂点的技术可以等Web开发水平上去了再学习。
想要轻松上手Web开发,掌握JDBC就差不多可以了。JDBC是一种用于java程序链接数据库的标准方法。它是由java编写的类和接口实现的,是一种可以执行SQL的java API。
如果开发的是简单的Web应用,JDBC够你用了,学习使用时,特别注重对Connection接口、Statement接口和ResultSet接口的学习,就能编写一些简单的代码了。
要是这些基础的东西,你都能搞定了,那应该能找到一份养活自己的Web开发工作了。
当然,如果你的目标不止是学会,还要特别会,达到精通,那小异建议你找个更加详细的教程,按照大牛给出的路线学习。
这里,小异推荐一本新手自学Web开发的秘笈《零基础入门学习Web开发(HTML5 CSS3)》给你。
▲跟着小甲鱼,Web开发不迷路!
如果说搞懂上面几点,你就学会了Web编程开发,那么,读懂这本书的内容,你就能成为Web开发的实战高手。
因为,这本源自B站同名视频教程,拥有百万播放量的《零基础入门学习Web开发(HTML5 CSS3)》主打特色就是实战性。
书中精解HTML 5和CSS3中233个语法知识点和多种网页的设计技巧;
还手把手带你实现上百个Web开发案例,数十种布局方式,源码拿来即可用。它附赠源代码,可运行在macOS、Linux、 Windows等操作系统平台;
文章编辑:罗梦婷 审校:桐希
参考文献:
《零基础入门学习Web开发(HTML5 CSS3)》第一章、第二章
How Long Does It Take To Become A Web Developer?
What Are The Best Programming Language For Web Development
将我的个人网站制作成了一个神奇宝贝风格的小游戏
1
END
使用form表单post数据到PHP,然后用file_put_contents($fileName, $data)写入文件,$fileName是文件名,$data是要写入的数据
新建一个a.php文件,将下面的复制进去访问一下,填写后点击提交,会生成一个a.txt的文件,里面是你填写的内容
可能会有一个notice的报错,不必理会
?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