You are here: Re: file download through php « PHP Programming Language « IT news, forums, messages
Re: file download through php

Posted by Chung Leong on 03/17/06 23:47

aljosa.mohorovic@gmail.com wrote:
> I have a problem when doing indirect download of file through php, when
> I click on download link Firefox and Internet Explorer give me same
> options: Open and Save. Firefox opens file directly from Internet and
> downloads without problem.
>
> Internet Explorer saves file on local disk and I can open it from disk
> correctly but when I try to open it directly from Internet it responds
> with "There was an error opening this document. This file cannot be
> found.", concrete situation in my usage is Pdf document. Below is my
> concrete code, any suggestions are appreciated.
>
>
> <?php
> ob_start();
> include_once("config.php");
> ini_set('display_errors', 'Off');
> error_reporting(0);
>
> $args = trim($_SERVER["PATH_INFO"]);
> $args = preg_replace("/^\//i", '', $args);
> $argv = explode('/', $args);
> $id = (int)$argv[0];
>
> import('dao.fm.file');
> $f = fm_file::instance($id);
>
> if($f->get('id') < 1) {
> die('No file.');
> }
> header('Content-Disposition: attachment');
> header('Accept-Charset: UTF-8');
> header('Content-Type: '.$f->get('type').'; charset="UTF-8";');
> readfile(get('FILES').'/'.$f->get('id'));
> ob_end_flush();
> ?>

The problem you encountered has to do with the dumb way IE's caching
mechanism works. If it receives a no-cache directive from the server,
IE would immediately remove the file after it's downloaded. The
external program doesn't get a chance to open it.

Add this and see if that fixes the problem:

header('Cache-Control: ');

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация