cyberdyne2 Posted July 28, 2010 Share Posted July 28, 2010 Variable passed to each() is not an array or object Getting this error on the following lines. Can anyone tell me why please? while(list($key,$value) = each($_FILES[images][type])) while(list($key,$value) = each($_FILES[images][size])) while(list($key,$value) = each($_FILES[images][name])) Many thanks Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/ Share on other sites More sharing options...
trq Posted July 28, 2010 Share Posted July 28, 2010 The error is pretty self explanatory. each expects an array or object, none of the arguments you are supplying are. Try passing just: $_FILES['images'] ps: Notice also that indexes are strings and string need to be surrounded by quotes. Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092391 Share on other sites More sharing options...
cyberdyne2 Posted July 29, 2010 Author Share Posted July 29, 2010 The error is pretty self explanatory. each expects an array or object, none of the arguments you are supplying are. Try passing just: $_FILES['images'] ps: Notice also that indexes are strings and string need to be surrounded by quotes. Many thanks thorpe but unfortunately, your suggestion did not fix it and I'm still receiving the same error. The whole function is: function checkType() { while(list($key,$value) = each($_FILES[images][type])){ strtolower($value); if($value != "image/jpeg" AND $value != "image/pjpeg" AND $value != "") { exit('Sorry , current format is <b>'.($value).'</b> ,only Jpeg or jpg are allowed.') ; } } checkSize(); } Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092398 Share on other sites More sharing options...
trq Posted July 29, 2010 Share Posted July 29, 2010 I don't think you read my previous reply. Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092401 Share on other sites More sharing options...
cyberdyne2 Posted July 29, 2010 Author Share Posted July 29, 2010 I don't think you read my previous reply. Sorry thorpe, I did read it a number of times. The problem is, I didn't fully understand it. :-\ function checkType() { while("list($key,$value)" = each($_FILES['images']['type'])){ strtolower($value); if($value != "image/jpeg" AND $value != "image/pjpeg" AND $value != "") { exit('Sorry , current format is <b>'.($value).'</b> ,only Jpeg or jpg are allowed.') ; } } checkSize(); } Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092404 Share on other sites More sharing options...
trq Posted July 29, 2010 Share Posted July 29, 2010 $_FILES['images']['type'] is NOT an array or an object. $_FILES['images'] is. Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092453 Share on other sites More sharing options...
cyberdyne2 Posted July 29, 2010 Author Share Posted July 29, 2010 $_FILES['images']['type'] is NOT an array or an object. $_FILES['images'] is. Thank you thorpe Quote Link to comment https://forums.phpfreaks.com/topic/209169-variable-passed-to-each-is-not-an-array-or-object/#findComment-1092454 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.