jump to navigation

java script and ajax help November 9, 2009

Posted by ashwinisingh in Ajax, Java Script.
Tags:
add a comment

this is my favorite site

http://www.dynamicdrive.com

Allow direct file download November 9, 2009

Posted by ashwinisingh in PHP.
Tags: , ,
add a comment

Add this code where you want to show download link

<a href=”download.php?f=<? echo $filename; ?>”><img src=”images/down.gif” border=”0″ alt=”Download”></a>

Make file name download.php, copy and paste below mention code

<?php

define(‘ALLOWED_REFERRER’, ”);

// Download folder, i.e. folder where you keep all files for download.
// MUST end with slash (i.e. “/” )
define(‘BASE_DIR’,’../Songs/’);// change according your need

// log downloads?  true/false
define(‘LOG_DOWNLOADS’,true);

// log file name
define(‘LOG_FILE’,’downloads.log’);

// installed on server.
$allowed_ext = array (

// archives
‘zip’ => ‘application/zip’,

// documents
‘pdf’ => ‘application/pdf’,
‘doc’ => ‘application/msword’,
‘xls’ => ‘application/vnd.ms-excel’,
‘ppt’ => ‘application/vnd.ms-powerpoint’,

// executables
‘exe’ => ‘application/octet-stream’,

// images
‘gif’ => ‘image/gif’,
‘png’ => ‘image/png’,
‘jpg’ => ‘image/jpeg’,
‘jpeg’ => ‘image/jpeg’,

// audio
‘mp3’ => ‘audio/mpeg’,
‘wav’ => ‘audio/x-wav’,

// video
‘mpeg’ => ‘video/mpeg’,
‘mpg’ => ‘video/mpeg’,
‘mpe’ => ‘video/mpeg’,
‘mov’ => ‘video/quicktime’,
‘avi’ => ‘video/x-msvideo’
);

####################################################################
###  DO NOT CHANGE BELOW
####################################################################

// If hotlinking not allowed then make hackers think there are some server problems
if (ALLOWED_REFERRER !== ”
&& (!isset($_SERVER[‘HTTP_REFERER’]) || strpos(strtoupper($_SERVER[‘HTTP_REFERER’]),strtoupper(ALLOWED_REFERRER)) === false)
) {
die(“Internal server error. Please contact system administrator.”);
}

// Make sure program execution doesn’t time out
// Set maximum script execution time in seconds (0 means no limit)
set_time_limit(0);

if (!isset($_GET[‘f’]) || empty($_GET[‘f’])) {
die(“Please specify file name for download.”);
}

// Get real file name.
// Remove any path info to avoid hacking by adding relative path, etc.
$fname = basename($_GET[‘f’]);

// Check if the file exists
// Check in subfolders too
function find_file ($dirname, $fname, &$file_path) {

$dir = opendir($dirname);

while ($file = readdir($dir)) {
if (empty($file_path) && $file != ‘.’ && $file != ‘..’) {
if (is_dir($dirname.’/’.$file)) {
find_file($dirname.’/’.$file, $fname, $file_path);
}
else {
if (file_exists($dirname.’/’.$fname)) {
$file_path = $dirname.’/’.$fname;
return;
}
}
}
}

} // find_file

// get full file path (including subfolders)
$file_path = ”;
find_file(BASE_DIR, $fname, $file_path);

if (!is_file($file_path)) {
die(“File does not exist. Make sure you specified correct file name.”);
}

// file size in bytes
$fsize = filesize($file_path);

// file extension
$fext = strtolower(substr(strrchr($fname,”.”),1));

// check if allowed extension
if (!array_key_exists($fext, $allowed_ext)) {
die(“Not allowed file type.”);
}

// get mime type
if ($allowed_ext[$fext] == ”) {
$mtype = ”;
// mime type is not set, get from server settings
if (function_exists(‘mime_content_type’)) {
$mtype = mime_content_type($file_path);
}
else if (function_exists(‘finfo_file’)) {
$finfo = finfo_open(FILEINFO_MIME); // return mime type
$mtype = finfo_file($finfo, $file_path);
finfo_close($finfo);
}
if ($mtype == ”) {
$mtype = “application/force-download”;
}
}
else {
// get mime type defined by admin
$mtype = $allowed_ext[$fext];
}

// Browser will try to save file with this filename, regardless original filename.
// You can override it if needed.

if (!isset($_GET[‘fc’]) || empty($_GET[‘fc’])) {
$asfname = $fname;
}
else {
// remove some bad chars
$asfname = str_replace(array(‘”‘,”‘”,’\\’,’/’), ”, $_GET[‘fc’]);
if ($asfname === ”) $asfname = ‘NoName’;
}

// set 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”);
header(“Content-Type: $mtype”);
header(“Content-Disposition: attachment; filename=\”$asfname\””);
header(“Content-Transfer-Encoding: binary”);
header(“Content-Length: ” . $fsize);

// download
// @readfile($file_path);
$file = @fopen($file_path,”rb”);
if ($file) {
while(!feof($file)) {
print(fread($file, 1024*8));
flush();
if (connection_status()!=0) {
@fclose($file);
die();
}
}
@fclose($file);
}

// log downloads
if (!LOG_DOWNLOADS) die();

$f = @fopen(LOG_FILE, ‘a+’);
if ($f) {
@fputs($f, date(“m.d.Y g:ia”).”  “.$_SERVER[‘REMOTE_ADDR’].”  “.$fname.”\n”);
@fclose($f);
}

?>

Javascript and Ajax based solutions November 9, 2009

Posted by ashwinisingh in Ajax.
Tags: ,
add a comment

beautiful Javascript and Ajax based solutions gallery requirements

http://ntt.cc/2008/04/08/over-21-beautiful-javascript-and-ajax-based-solutions-to-our-gallery-requirements.html

http://www.smashingmagazine.com/2007/05/18/30-best-solutions-for-image-galleries-slideshows-lightboxes/

Export table data in Excel or CSV November 9, 2009

Posted by ashwinisingh in PHP.
Tags:
add a comment

<form action=”export2.php” method=”post” enctype=”multipart/form-data” name=”form1″>
<select name=”export” id=”export”>
<option value=”MSEXCEL”>MS EXCEL</option>
<option value=”CSV”>CSV</option>
</select> <img name=”” src=”” width=”50″ height=”1″ alt=”” />
<input name=”Submit” type=”submit” value=” Export ” />
<img src=”” alt=”” name=”www” width=”20″ height=”1″ id=”www” />
<input name=”button” type=”button” onclick=”javascript:window.print()” value=”Print” />
<? //echo $row[‘Q8_Source_of_inquiry’] ;?>
</form>

 

$expt=$_REQUEST[‘export’];
if($expt==’MSEXCEL’)
{
$rand = rand(10000, 99999);
$n=5;
$random=rand(0, pow(10, $n));
$filename = “myExcelFile_”.$random.”.”.”xls”;

header(“Expires: Sat, 01 Jan 2000 00:00:00 GMT”);
header(“Last-Modified: “.gmdate(“D, d M Y H:i:s”).” GMT”);
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”);
session_cache_limiter(“must-revalidate”);
header(“Content-Type: application/vnd.ms-excel”);
header(‘Content-Disposition: attachment; filename=”‘ . $filename .'”‘);

$select = $_SESSION[‘exp_export’]; //In this session will be your query example “select * from tablename”;
$export = mysql_query($select);
$fields = mysql_num_fields($export);

for ($i = 0; $i < $fields; $i++)
{
$header .= mysql_field_name($export, $i) . “\t”;
}

while($row = mysql_fetch_row($export)) {
$line = ”;
foreach($row as $value) {
if ((!isset($value)) OR ($value == “”)) {
$value = “\t”;
} else {
$value = str_replace(‘”‘, ‘””‘, $value);
$value = ‘”‘ . $value . ‘”‘ . “\t”;
}
$line .= $value;
}
$data .= trim($line).”\n”;
}
$data = str_replace(“\r”,””,$data);

if ($data == “”) {
$data = “\n(0) Records Found!\n”;
}

print “$header\n$data”;
$_SESSION[‘exp_export’]=”;
exit;
}
else
{
function getExcelData($data){
$retval = “”;
if (is_array($data)  && !empty($data))
{
$row = 0;
foreach(array_values($data) as $_data){
if (is_array($_data) && !empty($_data))
{
if ($row == 0)
{
// write the column headers
$retval = implode(“,”,array_keys($_data));
$retval .= “\n”;
}
//create a line of values for this row…
if(array_keys($_data)==”images”)
{
$retval .= array_values($_data);
$retval .= “\n”;
exit();
}
else
{
$retval .= implode(“,”,array_values($_data));
$retval .= “\n”;
//increment the row so we don’t create headers all over again
$row++;
}
}
}
}
return $retval;
}
//feed the final array to our formatting function…
$contents = getExcelData($_SESSION[‘exp’]);

$filename = “myExcelFile.csv”;

//prepare to give the user a Save/Open dialog…
header (“Content-type: application/octet-stream”);
header (“Content-Disposition: attachment; filename=”.$filename);

//setting the cache expiration to 30 seconds ahead of current time. an IE 8 issue when opening the data directly in the browser without first saving it to a file
$expiredate = time() + 30;
$expireheader = “Expires: “.gmdate(“D, d M Y G:i:s”,$expiredate).” GMT”;
header ($expireheader);

//output the contents
echo $contents;
$_SESSION[‘exp’]=”;
exit();
}

?>