ajax_download.php 1.21 KB
<?php
	/**
	 * delete selected files
	 * @author Logan Cai (cailongqun [at] yahoo [dot] com [dot] cn)
	 * @link www.phpletter.com
	 * @since 22/April/2007
	 *
	 */

	require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "inc" . DIRECTORY_SEPARATOR . "config.php");
	if(!empty($_GET['path']) && file_exists($_GET['path']) && is_file($_GET['path']) && isUnderRoot($_GET['path']))
	{
			$path = $_GET['path'];
			//check if the file size
			$fileSize = @filesize($path);
			if($fileSize > getMemoryLimit())
			{//larger then the php memory limit, redirect to the file
				header('Location: ' . $path);
				exit;				 
			}else 
			{//open it up and send out with php
			  header("Cache-Control: ");// leave blank to avoid IE errors
			  header("Pragma: ");// leave blank to avoid IE errors
			  Header( "Content-type: ".@filetype($path)."\n");
			  header("Content-Transfer-Encoding: binary\n"); 
			  header("Content-Disposition: attachment; filename=\"" .  basename($path). "\"\n");
			  header("Content-length:".$fileSize);
			 	$fp = @fopen($path);
			 	if($fp)
			 	{
			 		while($data = @fread($fp, 1000))
			 		{
			 			echo $data;	
			 		}
			 		fclose($fp);
			 	}
			 	
			  			
			}
	}else 
	{
		die(ERR_DOWNLOAD_FILE_NOT_FOUND);
	}
?>