上传的问题.用了copy,只因改成用函数传递,就失败. $userfile来自$HTTP_POST_FILES全局数组小心 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用$HTTP_POST_FILES['userfile'][tmp_name] sorry,搞忘了在函数中应该加上GLOBALS,所以用:$GLOBALS[HTTP_POST_FILES]['userfile'][tmp_name] 如果php.ini设置register_globals=on 就用$GLOBALS['userfile']; 如果php.ini设置register_globals=on 就用$GLOBALS['userfile']; 或者用$_FILES,这样就不用担心全局的问题了. 这个$userfile好象是正常的,print_r后能看到要的值.但是在copy()前中断掉却看不到php的uploadtemp目录下有临时文件.贴子好难回复啊,总说失败. 出错信息是:Array to string conversion in :在用copy的地方.Unable to open 'Array' for reading: No such file or directory in 难道php出问题了?还是其他? 出错信息是:Array to string conversion in :在用copy的地方.Unable to open 'Array' for reading: No such file or directory in 难道php出问题了?还是其他? 改用新函数吧!move_uploaded_file和is_uploaded_file,更安全,更好用:) extract($_REQUEST); extract($_SERVER); 找到原因了,在开头加了这两句. 哎,wasy不是叫你把register_globals设为On嘛…… 把register_globals设为On后,就相当于在每个PHP文件头都加入了那两句. 谢谢各位了.其实用PHP也只两个月,很多东西还没搞清楚. 谢谢各位了.其实用PHP也只两个月,很多东西还没搞清楚. LeeMaRS(小菜虎_水壶的仇人) :这是什么意思? 既然相当,那么加上这两句会有什么负作用? 这个方法是由wasy先提出来的.当register_globals=Off的时候,为了不修改php.ini的设置,也能使原来的程序正常工作,就使用extract函数,将$_REQUEST(POST GET都在里面了)和$_SERVER(主要是$PHP_SELF)两个数组的内容释放出来,$_SERVER["PHP_SELF"]就被释放成$PHP_SELF变量了,内容就是$_SERVER["PHP_SELF"]的内容.也就是:KEY是变量名,VALUE就是变量值.然后旧的程序一般就能正常工作 了. 这个方法是由wasy先提出来的.当register_globals=Off的时候,为了不修改php.ini的设置,也能使原来的程序正常工作,就使用extract函数,将$_REQUEST(POST GET都在里面了)和$_SERVER(主要是$PHP_SELF)两个数组的内容释放出来,$_SERVER["PHP_SELF"]就被释放成$PHP_SELF变量了,内容就是$_SERVER["PHP_SELF"]的内容.也就是:KEY是变量名,VALUE就是变量值.然后旧的程序一般就能正常工作 了. 对啊.我也是以前看到这两句,觉得很有道理,就加了进来.但是不明白为什么extract了反而不对了.充其量只是再覆盖一次吧.难道register_globals=on后,这些数组就不存在或变了? 对啊.我也是以前看到这两句,觉得很有道理,就加了进来.但是不明白为什么extract了反而不对了.充其量只是再覆盖一次吧.难道register_globals=on后,这些数组就不存在或变了? 我想原因可能是这样的:register_globals=on, 用到的$userfile,是文件的tmp_name,string类型, 同时还有$userfile_name, $userfile_size, $userfile_type几个全局变量.加上extract($_REQUEST);extract($_SERVER); 后.$HTTP_POST_FILES['userfile'],被extract了,但$usrfile是个数组了.再来extract一次,才会有$userfile_name, $userfile_tmp_name等.所有会出这样的问题. 就是$userfile被从string覆盖成array了. 首先要搞清楚extract的功能:extract只是將數組分解成變量,索引為變量名,值為變量的值而對於$HTTP_POST_FILES比較特殊,不能僅僅用extract來分解,你用print_r($HTTP_POST_FILES);察看一下就知道了。$file等效於$HTTP_POST_FILES['file'][tmp_name].你用extract分解只會得到數組$file 首先要搞清楚extract的功能:extract只是將數組分解成變量,索引為變量名,值為變量的值而對於$HTTP_POST_FILES比較特殊,不能僅僅用extract來分解,你用print_r($HTTP_POST_FILES);察看一下就知道了。$file等效於$HTTP_POST_FILES['file'][tmp_name].你用extract分解只會得到數組$file 请教DOCTYPE声明在使css在ie6 ie7失效 求一个页面设计内容 如何通过 webservice 获取IP所对应的所属城市 phpMyadmin字符显示乱码!!! 如何用正则表达式提取需要的内容? 关于phpwind PHP是什么东东? 请问各位高手在php中"./../"是什么意思?是不是返回上一层目录?但怎么总是有错误产生? 如何取得汉字字符的拼音首字母? HTTP原理上,能否只返回HTTP状态码,不返回内容 怎么判断一个数组的维数? 请大家帮我看看,一个以前都没有见过的错误。
$HTTP_POST_FILES['userfile'][tmp_name]
在函数中应该加上GLOBALS,所以用:
$GLOBALS[HTTP_POST_FILES]['userfile'][tmp_name]
就用
$GLOBALS['userfile'];
就用
$GLOBALS['userfile'];
但是在copy()前中断掉却看不到php的uploadtemp目录下有临时文件.贴子好难回复啊,总说失败.
Array to string conversion in :在用copy的地方.
Unable to open 'Array' for reading: No such file or directory in
难道php出问题了?还是其他?
Array to string conversion in :在用copy的地方.
Unable to open 'Array' for reading: No such file or directory in
难道php出问题了?还是其他?
extract($_SERVER);
找到原因了,在开头加了这两句.
其实用PHP也只两个月,很多东西还没搞清楚.
其实用PHP也只两个月,很多东西还没搞清楚.
这是什么意思? 既然相当,那么加上这两句会有什么负作用?
但是不明白为什么extract了反而不对了.充其量只是再覆盖一次吧.
难道register_globals=on后,这些数组就不存在或变了?
但是不明白为什么extract了反而不对了.充其量只是再覆盖一次吧.
难道register_globals=on后,这些数组就不存在或变了?
register_globals=on,
用到的$userfile,是文件的tmp_name,string类型, 同时还有$userfile_name, $userfile_size, $userfile_type几个全局变量.加上extract($_REQUEST);extract($_SERVER); 后.
$HTTP_POST_FILES['userfile'],被extract了,但$usrfile是个数组了.
再来extract一次,才会有$userfile_name, $userfile_tmp_name等.所有会出这样的问题. 就是$userfile被从string覆盖成array了.
extract只是將數組分解成變量,索引為變量名,值為變量的值而對於$HTTP_POST_FILES比較特殊,不能僅僅用extract來分解,你用
print_r($HTTP_POST_FILES);察看一下就知道了。$file等效於$HTTP_POST_FILES['file'][tmp_name].你用extract分解只會得到數組$file
extract只是將數組分解成變量,索引為變量名,值為變量的值而對於$HTTP_POST_FILES比較特殊,不能僅僅用extract來分解,你用
print_r($HTTP_POST_FILES);察看一下就知道了。$file等效於$HTTP_POST_FILES['file'][tmp_name].你用extract分解只會得到數組$file