PHP Upload Script - Files uploaded Corrupt
Matthew Benjamin
msbenjamin12 at gmail.com
Mon Aug 21 02:55:59 UTC 2006
On 8/19/06, Lauri <lauri at ruja.ee> wrote:
>
> > On 8/17/06, *Ed K.* <ed at hp.uab.edu <mailto:ed at hp.uab.edu>> wrote:
> >
> > On Wed, 16 Aug 2006, Matthew Benjamin wrote:
> > >
> > > Can anyone help I have a php script that uploads files to a mysql
> > database.
> > > When it uploads the files all of the content in the file gets
> > corrupted. Has
> > > anyone expirienced this. I know I can't be the first person with
> the
> > > problem. -- Help!!! Please.
> > >
> >
> > Are you escaping the data from the file?
> >
> > here would be a working php script:
> >
> > $fp=fopen($addfile,"r");
> > $bvar=fread($fp,filesize($addfile));
> > fclose($fp);
> > $bvar=addslashes($bvar);
> > $q="insert into table (file) values ('$bvar')";
> >
> > ed
> >
> > --
> > fedora-list mailing list
> > fedora-list at redhat.com <mailto:fedora-list at redhat.com>
> > To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
> > <https://www.redhat.com/mailman/listinfo/fedora-list>
>
> ...
>
> -----
>
> <form enctype="multipart/form-data" action="" method="POST">
> <!-- MAX_FILE_SIZE must precede the file input field -->
> <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
> <!-- Name of input element determines name in $_FILES array -->
> Send this file: <input name="userfile" type="file" />
> <input type="submit" value="Send File" />
> </form>
>
>
> <?php
> if(!empty($_FILES['userfile']))
> {
> // make dir for the file and move it there
> @mkdir('./temp', 0777);
> move_uploaded_file($_FILES['userfile']['tmp_name'],
> './temp/'.basename($_FILES['userfile']['name']));
>
> // read the file and put it to the DB; use base64,
> <http://php.net/base64_encode>
> mysql_query("INSERT INTO table VALUES(0, 'a', 'b', 'c', '" .
>
> base64_encode(file_get_contents('./temp/'.basename($_FILES['userfile']['name'])))
> . "')");
>
> // delete the source file and temp directory
> unlink('./temp/'.basename($_FILES['userfile']['name']));
> rmdir('./temp');
>
> echo 'The file was successfully uploaded!<br />';
> }
> ?>
>
> -----
>
> But why do you want to use a database for the files? To prevent
> unauthorized downloading, you can disallow the access to the files and
> send them to user also via PHP, see the comments of <http://php.net/header
> >.
>
> Lauri
>
> --
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
>
I want to use a database, because I haven't found a way to store files on
the and download them via the web. (only because I didn't look I guess). I
was thinking storing them in a db was best. Not so?
--
mB.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20060820/da6222a4/attachment-0001.htm>
More information about the fedora-list
mailing list