ecommerce website design Shropshire, Custom & Ecommerce Website Designers, Web Page Design Company Shropshire UK Site Map
Phone:01743 272 609 Fax: 0709 286 1166
Home page, website design service at Shrewsbury, Shropshire. We supply website design service to business in Shropshire and whole UKAbout spark computing, website design service at Shrewsbury, Shropshire. We supply website design service to business in Shropshire and whole UKExpertise and services from spark computing, website design service at Shrewsbury, Shropshire. We supply website design service to business in Shropshire and whole UKOffice automatic solutions, online business solutions supplied by Spark computing, shrewsbury, shropshirecontact spark computing, shrewsbury, shroshire to discuss online business websites, custom software development

How to force a download using php

27/07/09

Permalink 08:27:27 pm, Categories: General IT articles  

How to force a download using php

Here is a handy function for forcing a download a file in any folder on the server that is readable by your php script.

PHP:

function send_file($path) {
    session_write_close();
    ob_end_clean();
    if (!is_file($path) || connection_status()!=0)
        return(FALSE);
 
    //to prevent long file from getting cut off from     //max_execution_time
 
    set_time_limit(0);
 
    $name=basename($path);
 
    //filenames in IE containing dots will screw up the
    //filename unless we add this
 
    if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))
        $name preg_replace('/\./''%2e'$namesubstr_count($name'.') - 1);
 
    //required, or it might try to send the serving     //document instead of the file
 
    header("Cache-Control: ");
    header("Pragma: ");
    header("Content-Type: application/octet-stream");
    header("Content-Length: " .(string)(filesize($path)) );
    header('Content-Disposition: attachment; filename="'.$name.'"');
    header("Content-Transfer-Encoding: binary\n");
 
    if($file fopen($path'rb')){
        while( (!feof($file)) && (connection_status()==0) ){
            print(fread($file1024*8));
            flush();
        }
        fclose($file);
    }
    return((connection_status()==0) and !connection_aborted());
}

Tweet this! Facebook Live Yahoo bookmark Digg US google bookmark

Trackback address for this post:

https://www.sparkcomputing.co.uk/blogs/htsrv/trackback.php?tb_id=38

Trackbacks, Pingbacks:

No Trackbacks/Pingbacks for this post yet...

June 2022
Mon Tue Wed Thu Fri Sat Sun
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

Spark Website Design, Shropshire

Technical articles on IT solutions.

Free information on office and home IT solutions; How to get a website running for your business; self-help e-commerce; and tips on website design.

Search

Misc

XML Feeds

What is this?