RQ: Скрипт за ...

djvato

Registered
Първо Здравейте отново ... значи имам сайт за ъплуд на снимки .. как мога да направя да може да се гласува за тях ... и след това да има една таблица най - отгоре и в тази таблица да излизат да кажем топ 5 картинки ?













Код:
<center><? 
$file = "db.txt"; 
$expire = "30"; 
$ip = $_SERVER['REMOTE_ADDR']; 

if (!$open = fopen($file,'a')) { echo "No database"; } 

$a = file($file); 
$open = fopen($file,'w'); 
if (count($a) == "0") { fwrite($open, "$ip|" . time() . "\n"); } 
else { 
foreach($a as $show) { 
$part = explode("|", $show); 
if ($part[1]+$expire <= time()) { } 
else { 
if ($ip == $part[0]) { } 
else { fwrite($open, "$show"); } 
} 
} 
fwrite($open, "$ip|" . time() . "n"); 
} 
fclose($open); 
echo "" . count(file($file)) . " user(s) online"; 
?> </center>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en"> 
<html> 
<head> 
<meta http-equiv="content-language" content="en-us"> 
<meta http-equiv="content-type" content="text/html; charset=windows-1256"> 
<title>FREE Pictures Uploader</title> 
<link rel="stylesheet" href="style.css" type="text/css"> 
</head> 
<script language="JavaScript" type="text/javascript"> 
<!-- ; 
var newwindow; 
var wheight = 0, wwidth = 0; 
function popimg(url, title, iwidth, iheight, colour) { 
var pwidth, pheight; 

if ( !newwindow || newwindow.closed ) { 
pwidth=iwidth+30; 
pheight=iheight+30; 
newwindow=window.open('','htmlname','width=' + pwidth +',height=' +pheight + ',resizable=1,top=50,left=10'); 
wheight=iheight; 
wwidth=iwidth; 
} 

if (wheight!=iheight || wwidth!=iwidth ) { 
pwidth=iwidth+30; 
pheight=iheight+60; 
newwindow.resizeTo(pwidth, pheight); 
wheight=iheight; 
wwidth=iwidth; 
} 

newwindow.document.clear(); 
newwindow.focus(); 
newwindow.document.writeln('<html> <head> <title>' + title + '<\/title> <\/head> <body bgcolor= \"' + colour + '\"> <center>'); 
newwindow.document.writeln('<a title="Hit to close!" href="javascript:window.close();"><img src=' + url + ' border=0></a>'); 
newwindow.document.writeln('<\/center> <\/body> <\/html>'); 
newwindow.document.close(); 
newwindow.focus(); 
} 

// Routines to tidy up popup windows when page is left 
// Call with an onUnload="tidy5()" in body tag 

function tidy5() { 
if (newwindow && !newwindow.closed) { newwindow.close(); } 
} 

</script> 

<body bgcolor="#ECF5FF" text="#3399FF" leftmargin="20" topmargin="10" marginwidth="10" marginheight="10"> 

<?php 
/*=========================================\ 
Author : Mohammed Ahmed(M@@king) \\ 
Version : 1.1 \\ 
Date Created: Jun 11 2007 \\
---------------------------- \\ 
Last Update: Jun 11 2007 \\
---------------------------- \\ 
Country :  \\ 
City : Etropole \\ 
E-mail : djvato@abv.bg \\ 
MSN :  \\ 
AOL-IM :  \\ 
WWW : djvato.freehostia.com \\ 
Mobile/SMS : 0888 758005 \\ 
\\ 
===========================================\ 
---Description ----------------------------------------------------- 
The Super Global Variable $_FILES is used in PHP 4.x.x. 
$_FILES['filetoupload']['size'] ==> Get the Size of the File in Bytes. 
$_FILES['filetoupload']['tmp_name'] ==> Returns the Temporary Name of the File. 
$_FILES['filetoupload']['name'] ==> Returns the Actual Name of the File. 
$_FILES['filetoupload']['type'] ==> Returns the Type of the File. 

So if I uploaded the file 'test.doc', the $_FILES['filetoupload']['name'] 
would be 'phptut.doc' and $_FILES['filetoupload']['type'] would be 'application/msword'. 
---------------------------------------------------------------------*/ 

//**********************************************************************// 
// $_FILES['filetoupload'] is the value of // 
// file field from the form. <input type="file" name="filetoupload"> // 
//**********************************************************************// 
################################################################################ 
##---------------------------1 - Setup 
################################################################################ 
// this is the upload dir where files will go. 
//Don't remove the / 
//Chmod it (777) 
$upload_dir = "images/"; //change to whatever you want. 
//5120000 bytes = 500000KB 
$size_bytes = 5120000; //File Size in bytes (change this value to fit your need) 
$extlimit = "yes"; //Do you want to limit the extensions of files uploaded (yes/no) 
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to. also you can use: //array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe"); 
################################################################################ 
##---------------------------2 - check for directory and writable 
################################################################################ 
//check if the directory exists or not. 
if (!is_dir("$upload_dir")) { 
die ("Error: The directory <b>($upload_dir)</b> doesn't exist"); 
} 
//check if the directory is writable. 
if (!is_writeable("$upload_dir")){ 
die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)"); 
} 

################################################################################ 
##---------------------------3-1 - code begins here 
################################################################################ 
if(isset($_POST['uploadform'])){ 
// if you clicked the (Upload File) button. "If you submitted the form" then upload the file. 
//begin of uploadform. 

// $filename will hold the value of the file name submetted from the form. 
$file_tmp = $_FILES['filetoupload']['tmp_name']; 
$file_name = $_FILES['filetoupload']['name']; 
//Get the Size of the File 
$file_size = $_FILES['filetoupload']['size']; 

//check if no file selected. 
if (!is_uploaded_file($file_tmp)){ 
echo "Error: Please select a file to upload!. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; 
exit(); //exit the script and don't do anything else. 
} 


//Make sure that file size is correct 
if ($file_size > $size_bytes){ 
echo "Error: File Too Large. File must be <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; 
exit(); 
} 
//check file extension 
$ext = strrchr($file_name,'.'); 
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) { 
echo("Error: Wrong file extension. "); 
exit(); 
} 


// Check if file is Already EXISTS. 
if(file_exists($upload_dir.$file_name)){ 
echo "Oops! The file named <b>$file_name</b> already exists. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; 
exit(); 
} 

//to remove spaces from file name we have to replace it with "_". 
$file_name = str_replace(' ', '_', $file_name); 
//Move the File to the Directory of your choice 
//move_uploaded_file('filename','destination') Moves afile to a new location. 
if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) { 
//tell the user that the file has been uploaded and make him alink. 
echo "File (<a href=\"$upload_dir$file_name\">$file_name</a>) uploaded! <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; 
exit(); 
}else{ 
// print error if there was a problem moving file. 
echo "There was a problem moving your file. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; 
exit(); 
} 

################################################################################ 
##---------------------------3-2 - code to display the form 
################################################################################ 
//end of if($uploadform). 
// If the form has not been submitted, display it! 
}else{ 
//begin of else 

// get the all extensions from the array 
for($i=0;$i<count($limitedext);$i++){ 
if (($i<>count($limitedext)-1))$commas=", ";else $commas=""; 
list($key,$value)=each($limitedext); 
$all_ext .= $value.$commas; 
} 

//print the form 
echo "<br><h3>::Browse a File to Upload:</h3>" 
."- Allowed Extensions: $all_ext</b> <br>" 
."- Max File Size = ". $size_bytes / 1024 ."KB" 
."<form method=\"post\" enctype=\"multipart/form-data\" action=\"$PHP_SELF\">" 
."<input type=\"file\" name=\"filetoupload\"><br>" 
."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"><br>" 
."<input type=\"Submit\" name=\"uploadform\" value=\"Upload File\">" 
."</form>"; 
}//end of else 

################################################################################ 
##---------------------Function to delete files ------------------------------## 
################################################################################ 
function del(){ 
// if we want to insert a value inside any function we have to global it first. 
global $upload_dir, $file; 

//delete the file 
@unlink($upload_dir."/$file"); 
echo"<h3><font color=red>The File ($file) was deleted! <br> Please wait...</font></h3>"; 
echo "<meta http-equiv=Refresh content=1;url=index.php>"; 
} 

//define variable to switch between functions 
if ( $action == del ){ 
del(); 
} 

// Here is the most interesting part. 
################################################################################ 
##---------------------------------Added Option ------------------------------## 
################################################################################ 
################################################################################ 
##---------------------View uploaded files (photo gallery) -------------------## 
################################################################################ 

echo "<br><hr><center><b>Current Uploaded Files (Gallery)</b></center><br>"; 

// set number of columns for the Gallery. 
$cols = 3; 
// set aloop for defining columns. 
$i =1; 
// creating table inorder to use it for columns. 
echo "<table width=100% border ='1' bordercolor='#3399FF' cellpadding='10' cellspacing='6'> 
<tr>"; 

//open the dir where files were uploaded inside. 
$opendir =opendir($upload_dir); 
// create a loop and define a variable called ($file) 
// to hold the value of file name located in the directory . 
while ($file = readdir($opendir)) { 
//exclude anything that doen't look like files. 
if($file != '..' && $file !='.' && $file !=''){ 
//dont't read direcories insde our directory. 
if (!is_dir($file)){ 

// since i am using gallery we have to get the width and hieght of photos. 
$imgsize = getimagesize ($upload_dir."".$file); 

// lets get the file size in byte/kb/mb. 
$file_size = filesize($upload_dir."".$file); 

if ($file_size >= 1048576){ 
$show_filesize = number_format(($file_size / 1048576),2) . " MB"; 
}elseif ($file_size >= 1024){ 
$show_filesize = number_format(($file_size / 1024),2) . " KB"; 
}elseif ($file_size >= 0){ 
$show_filesize = $file_size . " bytes"; 
}else{ 
$show_filesize = "0 bytes"; 
} 

//Gets file modification time 
$last_modified = date ("F d Y H:i:s", filemtime($upload_dir."".$file)); 

//for images width. 
if ($imgsize[0] > 100){ 
$base_img = "<img src=\"$upload_dir$file\" border=\"0\" width=\"100\">"; 
}else{ 
$base_img = "<img src=\"$upload_dir$file\" border=\"0\">"; 
} 
//define a variable to hold everthing that will be printed in table's columns. 
$all_stuff = "File name:<b> $file</b> <hr size=1> 
<div style=\"width: 120px; height: 120px; z-index: 1; float: left; border: 1px dotted #C0C0C0\"> 
<a href=\"javascript:popimg('$upload_dir$file','$file', $imgsize[0], $imgsize[1],'white')\"> 
$base_img</a> 
</div> 
<p align=left> 
Size: $show_filesize<br> 
Options: [<a title=\"Delete File\" href=\"javascript:;\" onClick=\"cf=confirm('Are you sure you want to delete?');if (cf)window.location='index.php?action=del&file=$file'; return false;\">Del</a>] 
<br>Width : $imgsize[0] px 
<br>Height : $imgsize[1] px 
<br>Date added: $last_modified GMT"; 


//divide the loop ($i) and ($cols) if the result is integer 
//then print column number 1. 
if (is_int($i / $cols)){ 
echo "<td align='center' valign='top' bgcolor='#F2F2F2'>$all_stuff</td></tr><tr>"; 
}else{ 
//else then print column number 2 etc for the next loop. 
echo "<td align='center' valign='top' bgcolor='#F2F2F2'>$all_stuff</td>"; 
} 
//add only 1 for the loop ($i). 
$i++; 
} 
} 
}//end while loop 
closedir($opendir); 
clearstatcache(); 
// print the rest of table. 
echo "</tr> 
</table>"; 

//print copyright ;) 
 echo" 
<p align=\"right\"><br>Script by: <a href=\"http://djvato.freehostia.com\">djvato</a> </p> 
<p align=\"right\"><br>Visit Forum of : <a href=\"http://djvato.freehostia.com/forum\">Site</a> </p>
</body> 
</html>";
 

Горе