本文将分享php-警告:fread()[function.fread]:长度参数必须大于0的详细内容,并且还将对phpfread进行详尽解释,此外,我们还将为大家带来关于$(document).rea
本文将分享php-警告:fread()[function.fread]:长度参数必须大于0的详细内容,并且还将对php fread进行详尽解释,此外,我们还将为大家带来关于$(document).ready(function()、$(function() {})和$(document).ready(function(){ })、$(window).load(function() {})和$(document).ready(function(){})的区别、$(window).load(function(){})和$(document).ready(function(){})的区别的相关知识,希望对你有所帮助。
本文目录一览:- php-警告:fread()[function.fread]:长度参数必须大于0(php fread)
- $(document).ready(function()
- $(function() {})和$(document).ready(function(){ })
- $(window).load(function() {})和$(document).ready(function(){})的区别
- $(window).load(function(){})和$(document).ready(function(){})的区别
php-警告:fread()[function.fread]:长度参数必须大于0(php fread)
我有一个托管有1and1的网站-没用!由于某种原因,它们提供的备份脚本不再起作用,无法为我提供答案!所以我想我自己写,这是我的代码:
if (file_exists('backupfile.sql')){
$FP = fopen ( 'backupfile.sql', 'r' );
$READ = fread ( $FP, filesize ( 'backupfile.sql') );
$READ = explode ( ";\n", $READ );
foreach ( $READ AS $RED )
{
MysqL_query ( $RED );
}
echo 'Done';
}else{
echo "no file";
}
但这给我以下错误
Warning: fread() [function.fread]: Length parameter must be greater than 0
如果我在fread的前面加上@,脚本不会出错,但不会执行备份.
解决方法:
好吧…我从错误消息中猜到的是backupfile.sql为空.因此,fread()无法从中读取任何内容.
$(document).ready(function()
页面加载完成后开始运行 do stuff when DOM is ready 中的语句
$(document).ready(function() {
// do stuff when DOM is ready
});
(document) 意思是说,获取整个网页文档对象(类似的于 window.document),$(document).ready 意思就是说,获取文档对象就绪时。
实例代码:
<script type="text/javascript">
$(document).ready(function() {
$("#appType").change(function(){
var id=$("#appType").val();
$.ajax({
url:"${ctx}/help/appHelp/findProblems/",
data:{"id":id},
type:''get'',
dataType:''json'',
success : function(data){
//alert(data);
var html="<option value='''' lable=''''></option>";
for(var i in data){
html=html+"<option value="+data[i].id+">"+data[i].name+"</option>";
}
$("#appProblemType\\.id").empty().append(html);
$(".appProblems").show();
}
})
});
});
function page(n,s){
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").submit();
return false;
}
</script>
<div class="pagination">${page}</div>
$(function() {})和$(document).ready(function(){ })
$(document).ready() 里的代码是在页面内容都加载完才执行的,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,此时如果标签里执行的代码调用了当前还没加载过来的代码或者dom,那么就会报错,当然如果把script标签放到页面最后面那么就没问题了,此时和ready效果一样。
$(document).ready(function(){})可以简写成$(function(){});
注意:
jQuery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。后面的文章会具体讲解它们之间的区别,今天先说明一下$(document).ready(function(){})的应用。
举一个简单的例子说明。当点击div后,我们将一个div隐藏。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <script src="js/jquery-3.1.0.min.js" language="JavaScript"></script>
- <script>
- $(document).ready(function () {
- $("div").click(function(){
- $(this).hide();
- });
- });
- </script>
- <style>
- div{
- width:100px;
- height:100px;
- background-color: #8ad6ff;
- }
- </style>
- </head>
- <body>
- <div>点击div,隐藏此div</div>
- </body>
- </html>
如果把$(document).ready(function() {});去掉后,无法隐藏这个div:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <script src="js/jquery-3.1.0.min.js" language="JavaScript"></script>
- <script>
- $("div").click(function(){
- $(this).hide();
- });
- </script>
- <style>
- div{
- width:100px;
- height:100px;
- background-color: #8ad6ff;
- }
- </style>
- </head>
- <body>
- <div>点击div,隐藏此div</div>
- </body>
- </html>
但是把script放到页面最后的话,就可恢复隐藏效果:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <script src="js/jquery-3.1.0.min.js" language="JavaScript"></script>
- <style>
- div{
- width:100px;
- height:100px;
- background-color: #8ad6ff;
- }
- </style>
- </head>
- <body>
- <div>点击div,隐藏此div</div>
- </body>
- <script>
- $("div").click(function(){
- $(this).hide();
- });
- </script>
- </html>
所以我们进行总结一下:
$(document).ready 里的代码是在页面内容都加载完才执行的,如果直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了,如果标签里执行的代码调用了当前还没加载过来的代码或者dom,那么就会报错。但是如果把script标签当到页面最后面那么就没问题,可以达到和ready差不多的效果。
$(document).ready() 方法是事件模块中最重要一个函数,可以极大的提高 Web 应用程序的速度。需要注意一点,由于在 $(document).ready() 方法内注册的事件,只要 DOM 就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的 html 下载完毕,并且已经解析为 DOM 树了,但很有可能图片还没有加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。
$(window).load(function() {})和$(document).ready(function(){})的区别
在我以前的开发中,一般用到javascript,我都是采用jquery的模式,也就是大多数时候,第一行写的是:
$(document).ready(function(){
...
});
这个时候,不一定要等所有的js和图片加载完毕,就可以执行一些方法,不过有些时候,必须要等所有的
元素都加载完毕,才可以执行一些方法的时候,比如说,部分图片或者什么其他方面还没有加载好,这个时候,点击某些按钮,会导致出现意外的情况,这个时候,就
需要用到:
$(window).load(function() {
$("#btn-upload").click(function(){ //比如说:
uploadPhotos();
});
});
下面是转载的内容,
用$(window).load(function(){...})而不用body.onload()的几个理由
首先它们都是在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行的,这是它们的共同点.
不用body.Onload()理由1:
如果我们想同时加载多个函数,我们必须这样写
<body onload="fn1(),fn2()"></body>看起来极其丑陋,如果用$(window).load()我们可以这样加载多个函数
$(window).load(function() {
alert("hello,我是jQuery!");
});
$(window).load(function() {
alert("hello,我也是jQuery");
});
这样写它会从上往下执行这两个函数,并且看起来漂亮多了.
不用body.Onload()理由2:
用body.Onload()不能够做到js和html完全分离,这是一个很严重的问题.
另外用$(window).load(function(){...})和body.onload()都存在同样一个问题,因为开始也说到了,它们都需要等到页面的所有内容
加载完毕才执行,但是如果当网速比较慢的时候,加载一个页面往往需要较长的时间(几秒到十几秒不等,甚至更长...),所以我们经常
会遇到页面还没有完全加载完毕而用户已经在操作页面了这种情况,这样页面表现出来的效果就跟我们预期的效果不一样了,
所以在这里我推荐使用$(document).ready(function(){}),或简写为$(function(){}),因为他会在页面的dom元素加载完毕后就执行,
而无需等到图片或其他媒体下载完毕.
但是有时候确实我们有需要等到页面的所有东西都加载完后再执行我们想执行的函数,所以是该使用$(window).load(function(){...})还是
该使用$(function(){})往往需要结合具体需要而作不同的选择.
最后附上一段在所有DOM元素加载之前执行的jQuery代码
<script type="text/javascript">
(function() {
alert("DOM还没加载哦!");
})(jQuery)
</script>
呵呵,有时候我们也有这个需求!
$(window).load(function(){})和$(document).ready(function(){})的区别
以浏览器装载文档为例,在页面加载完毕后,浏览器会通过JavaScript为DOM元素添加事件。
在常规的Javascript代码中,通常使用 window.onload = function(){} 的方式,而在jQuery中常使用的则是 $(document).ready(function(){}) 的方式。
事实上,JavaScript原生的 window.onload = function(){} 等价于jQuery的 $(window).load(function(){}) ,而jQuery的 $(document).ready(function(){}) 则在JavaScript中没有原生对应事件。
jQuery的 $(document).ready(function(){}) 是事件模块中最重要一个函数,可以极大的提高Web应用程序的速度。但需要注意的一点是,由于在 $(document).ready(function(){}) 方法内注册的事件,只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的html下载完毕并且已经解析为DOM树了,但很有可能此时图片还没有加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。
要解决这个问题,可以使用jQuery中另一个关于页面加载的方法——load()方法。load()方法会在元素的onload事件中绑定一个处理函数,如果处理函数绑定给window对象,则会在所有内容 ( 包括窗口、框架、对象和图像等 ) 加载完毕后触发,如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。
1.执行时机不同。
JavaScript原生的 window.onload = function(){} 是必须等待网页中所有的内容加载完毕后 ( 包括图片 ) 才能执行的,因此jQuery的 $(window).load(function(){}) 也同样有着这样的特性,即必须等待网页中所有的内容加载完毕后 ( 包括图片 ) 才能执行。
而jQuery的 $(document).ready(function(){}) 是只要网页中所有DOM结构绘制完毕后就执行,因此可能DOM元素关联的内容并没有加载完。
2.编写个数限制不同。
JavaScript的onload事件一次只能保存对一个函数的引用,他会自动用最后面的函数覆盖前面的函数,因为 window.load 是DOM2级事件。
但jQuery的 $(window).load(function(){}) 却没有这样的限制,可以编写多个,根据编写的前后顺序依次执行,因为在这里jQuery的实现方式是DOM3级事件,而 $(document).ready(function(){}) 有着同样的特性。
这两种方式都能够在页面加载后去做一些事情,可以根据不同的场景选用不同的方式。
"后来我才知道,在很多的事情上努力都能有成效,但人与人之间的关系不行,能走到最后的其实一开始就是同路人。"
今天关于php-警告:fread()[function.fread]:长度参数必须大于0和php fread的分享就到这里,希望大家有所收获,若想了解更多关于$(document).ready(function()、$(function() {})和$(document).ready(function(){ })、$(window).load(function() {})和$(document).ready(function(){})的区别、$(window).load(function(){})和$(document).ready(function(){})的区别等相关知识,可以在本站进行查询。
本文标签: