On Monday 10 November 2003 08:07 pm, Stephen Craton
wrote:
> I have a database which keeps some normal files in
> LONGBLOBS. I then call up a file called download.php
> to retrieve the file from the database, echo out
> it’s contents, and it’s type, and all that so they
> download it.
> However, if the user clicks the
> download link, they download the actual download.php
> file and if they open it, it’s blank.
Here is where you begin to get confused. The output of
your php page will always be called download.php, no matter
what is in it. The users are not downloading the
contents of your download.php file since that file is
obviously not blank. Rather they are downloading the
output generated by your download.php, which is
nothing.
> I’ve attached
> the code to download.php. Any ideas why this is
> happening and how to fix it?
Are you getting any PHP errors? (Check your log.)
Are you getting any MySQL errors? (You should include
an error check in your statements.)
If no to the above, then break the program down into
parts and output debug statements. E.g. echo that the
if conditional is being executed, echo the contents of
the first SQL statement, echo the variables of the
output, etc.
Hope this helps.
--John
> <?php
>
> if (isset($HTTP_GET_VARS['id'])) {
>
>
> include('Connections/default.php');
>
>
> mysql_select_db($database_default, $default);
>
> $id =
> $HTTP_GET_VARS['id'];
>
>
>
> $query = "SELECT *
> FROM files WHERE id='$id'";
>
> $result =
> mysql_query($query, $default);
>
> $row =
> mysql_fetch_array($result);
>
> $new =
> $row['downloads'] + 1;
>
> $query = "UPDATE
> files SET downloads='$new' WHERE id='$id'";
>
> $result =
> mysql_query($query, $default);
>
>
>
> $type =
> $row["ftype"];
>
> $name =
> $row["fname"];
>
> $size =
> $row["fsize"];
>
> $id = $row["id"];
>
> $data =
> urldecode($row["fdata"]);
>
>
>
>
> header("Content-type: $type");
>
>
> header("Content-length: $size");
>
>
> header("Content-Disposition: attachment;
> filename=$name");
>
>
> header("Content-Description: PHP Generated Data");
>
>
>
> echo $data;
>
> exit();
>
> }
>
> ?>
>
>
>
>
>
> Thanks,
>
> Stephen Craton
>
> HYPERLINK
> "http://www.melchior.us"http://www.melchior.us --
> HYPERLINK
> "http://www.melchior.us/portfolio"http://www.melchio
>r.us/portfolio
>
>
>
>
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system
> (http://www.grisoft.com). Version: 6.0.532 / Virus
> Database: 326 - Release Date: 10/27/2003
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php