日期:2014-05-17  浏览次数:20674 次

问俩php的小问题!!!
1、 
setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
第四个参数是设置有效路径,手册上说“The default value is the current directory that the cookie is being set in. 

”,也就是如果不写,就把有效路径设置为当前文件夹。
那如果当前设置cookie的脚本是在\objname\models\abc.php这个文件下,那这个cookie的有效路径就是\objname\models\吗??
可是为什么在别的文件夹下的脚本也可以访问这个cookie呢?

2、
上传文件的表单:
<form action="1.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100" />
<input type="file" name="file1" />
<input type="submit" value="上传" />
</form>

其中“<input type="hidden" name="MAX_FILE_SIZE" value="100" />”不是可以在客户端限制上传文件大小吗?但是不管上传多大的文件,输出$_FILES['file1']['error']都是0,说明成功了,这是为什么啊?


谢谢!

------解决方案--------------------
不存在你说的现象

请贴出你的测试代码
------解决方案--------------------
1: 当前目录和所有字目录都有效。除非你说的别的文件夹是在models底下或者你的cookie的有效路径没有设置成功。

2: 你是想说在服务器端限制大小吧。怎么看都不可能在客户端限制大小。那么你是怎么限制的?
------解决方案--------------------
1,cookie的路径和php脚本所在路径没关系,和url路径有些关系。

2 你只传递了一个MAX_FILE_SIZE变量。值是100,对上传文件大小的限制,是在php.ini中设置的。



------解决方案--------------------
第一个不太清楚。
第二个你那样根本没限制,再说也不能限制客户端的啊,你可以设置服务器的,在ini文件里,重设upload_max_filesize,还有如果客户会上传图片之类的东西,你估计还需要改动memory_limit
------解决方案--------------------
1, Cookie是根据URL的目录来设置的,如:http://www.example.com/abc/demo.php
在demo.php中设置Cookie的第四个参数为'/',则在整个站内的文件都可以访问到, 即域名指向的根目录内所有脚本都可以访问此Cookie, 如果参数为'/abc/',则网站根目录下abc文件夹内的所有脚本都能访问到Cookie值.
2, HTML本身无法进行控制, 借助flash可以控制,所以通常都用flash上传插件进行上传处理.