Re: Variable post as array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Colin this will help me, like i said im just trying to help its not 
my code and i dont work with photos like this, but i Do appreciate your 
patience with me.
"Colin Guthrie" <gmane@xxxxxxxxxxxxxx> wrote in message 
news:fqm88a$q4n$1@xxxxxxxxxxxxxxxx
> Pieter du Toit wrote:
>> That is the problem, i can see the name of the file with 
>> $txtPhoto['name']
>> but when i use the same with temp_name, i get nothing, one weird thing is
>> this [error] => 0 [size] => 17008  , what is that?
>>
>> this is the code that is giving the problem
>> $txtPhotoData = addslashes(fread(fopen($txtPhoto, "r"),
>> filesize($txtPhoto)));
>>
>> And this is the error
>>
>> Warning: fopen() expects parameter 1 to be string, array given in
>>> /usr/www/users/zululr/marketplace/myzululand/specials_proc.php on line 
>>> 49
>>
>> I did not do the code im just trying to help out, if never use this kind 
>> of
>> code to work with photos, i normally use move_uploaded_file and put the 
>> path
>> in the databse, but it look like this code puts the photo in the database 
>> as
>> binary or something.
>
> OK, I'll try and spell it out seeing as the link to the PHP Manual
> didn't take ;)
>
> The variable $txtPhoto exists because you have register global option set.
>
> It will be the same value as $_FILES['txtPhoto'].
>
> This variable *is an array*. It is not meant to contain just a filename.
>
> Your fopen() statement assumes that this variable *is a string* and this
> is fundamentally wrong.
>
> The PHP Manula page cannot be more clear about what the various elements
> in this array mean:
>
> http://uk.php.net/manual/en/features.file-upload.php
> (here their element is called 'userfile', yours is called 'txtPhoto'.
>
>
> $_FILES['userfile']['name']
>    The original name of the file on the client machine.
>
> $_FILES['userfile']['type']
>    The mime type of the file, if the browser provided this information.
> An example would be "image/gif". This mime type is however not checked
> on the PHP side and therefore don't take its value for granted.
>
> $_FILES['userfile']['size']
>    The size, in bytes, of the uploaded file.
>
> $_FILES['userfile']['tmp_name']
>    The temporary filename of the file in which the uploaded file was
> stored on the server.
>
> $_FILES['userfile']['error']
>    The error code associated with this file upload. This element was
> added in PHP 4.2.0
>
>
>
> The ['name'] is the original name of the file the person uploaded. Your
> code tries to load the contents of the file into a variable. To do this,
> this simplest way is to do:
>
> $photoData = file_get_contents($_FILES['txtPhoto']['tmp_name']);
>
> Your code calls addslashes() on it but that's pretty braindead as it's
> binary data. If it's going into a database you'd be better formatting it
> using a database formatting function (e.g. mysql_real_escape_string) and
> not just relying on an ad-hoc method.
>
> HTHs
>
> Col
>
>
>
>
>
> 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux