所有分类
  • 所有分类
  • 后端开发
仿 urlloader 读取文件:用 PHP 实现本地文件读写的方法

仿 urlloader 读取文件:用 PHP 实现本地文件读写的方法

用php读取文件很简单,一个fopen函数就可以搞定,下面是file.php的代码以上就是用仿ActionScript的语法来编写html5——第九篇,仿urlloader读取文件的内容,更多相关内容请关注PHP中文网()!

说到日常生活离不开的事情里,文件读取可是大家天天都要搞的。今天咱们聊聊怎么用HTML5搞定这个事儿,就像在ActionScript里用urlloader一样爽快。不过这个话题,可不只关于技术,还能让你感受到一把技术与智慧的撞击。

一、技术背景的小插曲

首先,咱们得知道为啥要模仿ActionScript的urlloader。以前,ActionScript可是web开发界的大头儿子,不过现在HTML5上位了,咱们就得找新办法咯。这个升级过程,感觉就像经历一场荡气回肠的电影,又怀念过去,又要迎接未来。

function readFile(){
urlloader = new LURLLoader();
urlloader.addEventListener(LEvent.COMPLETE,readFileOk);
urlloader.load("../file/test.txt","text");
}
function readFileOk(){
mytxt.text = urlloader.data;
}

二、ActiveXObject的限制

JavaScript里的那个ActiveXObject以前挺好用的,可以拿来读取和写入本地文件,不过有个大问题就是得看你用什么浏览器了,这可不像咱们出去玩儿,大家都按照一条路走。所以,咱们还是找别的办法!

三、PHP的自由之翼

搞定PHP之后像骑上哪吒似的,想看啥文件就看啥文件,还不怕浏览器限制!等于有了一对翅膀,就能驰骋云霄~

四、file.php与路径设定

接下来,咱们说说怎么设置file.php跟路径。把file.php上传到服务器,然后在JavaScript里边指定路径,就像在地图上标个点那样。好了,都弄好了,现在就等着出发

五、jQuery的便捷之选

说到把JavaScript和PHP连起来,jQuery就是那个让你眼前一亮的家伙。它让这个过程变得简单,就像一个聪明的助手帮你解决了大问题。

if(!file_exists($_POST["file"])){
echo "";
exit;
}
$file = fopen($_POST["file"],"r");
$filemsg = "";
while (!feof($file)) {
$line = fgets($file);
$filemsg = $line;
}
fclose($file);
echo $filemsg;

六、LURLLoader的构造与load方法

注意!LLoader和LURLLoader就像亲兄弟似的,只是load方法有点小区别~每一步都是搭桥一样,把各种知识点串起来了。

七、实战演练:添加按钮和文本域

最后,我们加上了一枚按钮和一个文本框,搞定了这个读取文件功能。这感觉就像在玩拼图,每次的小进步都会让你感到很有收获!

八、技术之外的情感体验

学东西,我们不光顾着掌握技巧,还得过情感大关。每次尝试成功后,心里那个激动,满满的幸福感!

function LURLLoader(){
var self = this;
self.objectindex = ++LGlobal.objectIndex;
self.type="LURLLoader";
self.loadtype = "";
self.content = null;
self.oncomplete = null;
self.event = {};
}
LURLLoader.prototype = {
addEventListener:function(type,listener){
var self = this;
if(type == LEvent.COMPLETE){
self.oncomplete = listener;
}
},
load:function (path,loadtype){
var self = this;
self.loadtype = loadtype;
if(self.loadtype == "text"){
$.post(LEGEND_FILE_PHP, {
flg:"read",
file:path
},function(data){
if(self.oncomplete){
self.event.currentTarget = data;
self.data = data;
self.oncomplete(self.event);
}
});
}
}
}

九、向未来的探索

HTML5和PHP这俩家伙威力大,瞬间让世界变个样!不止是科技搞掂大事,人也跟着进步了。

十、邀请你的参与

到这里结束,我好奇地问下你,学新技术时让你最兴奋的地方在哪儿?是搞定难题的那份快感,还是对新世界的好奇探索?快来评论区告诉我,咱们可以一起聊聊,相互促进

init(40,"mylegend",600,500,main);
var loadingLayer;
var backLayer;
var urlloader
var mytxt;
function main(){
legendLoadOver();
var readBtn = addButton("读取",20);
readBtn.x = 10;
readBtn.y = 20;
addChild(readBtn);
readBtn.addEventListener(LMouseEvent.MOUSE_DOWN, readFile);
mytxt = new LTextField();
mytxt.x = 10;
mytxt.y = 50;
mytxt.text = "";
mytxt.width = 300;
mytxt.height = 200;
mytxt.setType(LTextFieldType.INPUT);
addChild(mytxt);
}
function readFileOk(){
mytxt.text = urlloader.data;
}
function readFile(){
urlloader = new LURLLoader();
urlloader.addEventListener(LEvent.COMPLETE,readFileOk);
urlloader.load("../file/test.txt","text");
}
function addButton(lbl,x){
var up = new LSprite();
up.graphics.drawRect(1,"black",[0, 0, 80, 20],true,"#999999");
var txt = new LTextField();
txt.x = x;
txt.text = lbl;
up.addChild(txt);
var over = new LSprite();
over.graphics.drawRect(1,"black",[0, 0, 80, 20],true,"#cccccc");
var txt1 = new LTextField();
txt1.x = x;
txt1.text = lbl;
over.addChild(txt1);
var btn = new LButton(up,over);
return btn;
}

原文链接:https://www.icz.com/technicalinformation/web/2024/06/18400.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?