Current File : /home/inlingua/www/sensoriumpsychologists.com/include/function/file_handling.php
<?php

function uploadfile($file, $allowed_mime_types, $to_upload_path)
{
	global $error;
	if($file['error']==0):
		if(in_array($file['type'], $allowed_mime_types)):
			if(move_uploaded_file($file['tmp_name'], $to_upload_path.$file['name'])):
				return true;
			else:
				$error='unable to upload!!';
				return false;
			endif;
		else:
			$error='Wrong file format.';
			return false;
		endif;
	else:
		$error=file_upload_error_codes($file['error']);
		return false;
	endif;
}

function uploadmultiplefile($file, $allowed_mime_types, $to_upload_path)
{
	global $error;
	$file_ary = array();
    $file_count = count($file['name']);
    $file_keys = array_keys($file);
    for ($i=0; $i<$file_count; $i++) {
		if($file['error'][$i]==0):
			if(in_array($file['type'][$i], $allowed_mime_types)):
				if(move_uploaded_file($file['tmp_name'][$i], $to_upload_path.$file['name'][$i])):
					return true;
				else:
					$error='unable to upload!!';
					return false;
				endif;
			else:
				$error='Wrong file format.';
				return false;
			endif;
		else:
			$error=file_upload_error_codes($file['error'][$i]);
			return false;
		endif;
    }	
}
	
function file_upload_error_codes($code)
{
	switch ($code):
		case '1':#UPLOAD_ERR_INI_SIZE
			return 'File size limit exceeds. Max file size: 2MB.';
			break;
		case '2': #UPLOAD_ERR_FORM_SIZE
			return 'Max file size limit set in page has crossed.';
			break;
		case '3': #UPLOAD_ERR_PARTIAL 
			return 'File was only partially uploaded';
			break;
		case '4': #UPLOAD_ERR_NO_FILE
			return 'No file was uploaded';
			break;
		default: return 'No Message Found!';
	endswitch;
}

function download_file($file)
	{
		if (!is_file($file))
			   			{
			   				 die("<b>404 File not found!</b>");
			   			}


			  //Gather relevent info about file
			$len = filesize($file);
			$filename = basename($file);
			$file_extension = strtolower(substr(strrchr($filename,"."),1));

			//This will set the Content-Type to the appropriate setting for the file
			switch( $file_extension )
				 {
 				case "pdf": $ctype="application/pdf"; break;
					case "exe": $ctype="application/octet-stream"; break;
					case "zip": $ctype="application/zip"; break;
					case "doc": $ctype="application/msword"; break;
					case "xls": $ctype="application/vnd.ms-excel"; break;
					case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
					case "gif": $ctype="image/gif"; break;
					case "png": $ctype="image/png"; break;
					case "jpeg":
					case "jpg": $ctype="image/jpg"; break;
					case "mp3": $ctype="audio/mpeg"; break;
					case "wav": $ctype="audio/x-wav"; break;
					case "mpeg":
					case "mpg":
					case "mpe": $ctype="video/mpeg"; break;
					case "mov": $ctype="video/quicktime"; break;
					case "avi": $ctype="video/x-msvideo"; break;

					//The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
					case "php":
					case "htm":
					case "html":
					case "txt":die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;

					default: $ctype="application/force-download";
				}
				ob_clean();
				//Begin writing headers
				header("Pragma: public");
				header("Expires: 0");
				header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
				header("Cache-Control: public");
				header("Content-Description: File Transfer");

				//Use the switch-generated Content-Type
				header("Content-Type: $ctype");

				//Force the download
				$header="Content-Disposition: attachment; filename=".$filename.";";
				header($header );
				header("Content-Transfer-Encoding: binary");
				header("Content-Length: ".$len);
				@readfile($file);
				exit;
		}

function backupFile($backup_file,$MemberArray)
	{

	 $fp = fopen($backup_file, "w");
		
		echo '<pre>'; print_r($MemberArray);
		foreach ($MemberArray as $Value)
		
		echo $Value;
		     fputs($fp,$Value."\n");

     		fclose($fp);
			
	}

?>