help s uploadom

Programovacie jazyky, rady, poradňa...
Lukas1169
Medium Star
Medium Star
Príspevky: 347
Registrovaný: 15 nov 2008, 15:20

help s uploadom

Príspevok od používateľa Lukas1169 »

mam takito upload:

Kód: Vybrať všetko

<?
error_reporting(7);

// Max size PER file in KB, not bytes for simplicity!
$max_file_size="10000000";

// Max size for all files COMBINED in KB, not bytes for simplicity!
$max_combined_size="500000000000000";

//How many file uploads do you want to allow at a time?
$file_uploads="3";

//The name of the uploader..
$websitename="Scucaj Uploader";

// Use random file names? true=yes (recommended), false=use original file name. Random names will help prevent overwritting of existing files!
$random_name=true;

// Please keep the array structure.
$allow_types=array("jpg","gif");

// Path to files folder. If this fails use $fullpath below. With trailing slash
$folder="";

// Full url to where files are stored. With Trailing Slash
$full_url="http://195.146.156.212/image/";

// Only use this variable if you wish to use full server paths. Otherwise leave this empty! With trailing slash
$fullpath="";

//Use this only if you want to password protect your uploads.
$password=""; 

/*
//================================================================================
* ! ATTENTION !
//================================================================================
: Don't edit below this line unless you know some php. Editing some variables or other stuff could cause undeseriable results!!
*/

// MD5 the password.. why not?
$password_md5=md5($password);

// If you set a password this is how they get verified!
If($password) {
	If($_POST['verify_password']==true) {
		If(md5($_POST['check_password'])==$password_md5) {
			setcookie("Scucaj Uploader",$password_md5,time()+86400);
			sleep(1); //seems to help some people.
			header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
			exit;
			
		}
	}
}

// The password form, if you set a password and the user has not entered it this will show.
$password_form="";
If($password) {
	If($_COOKIE['phUploader']!=$password_md5) {
		$password_form="<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n";
		$password_form.="<table align=\"center\" class=\"table\">\n";
		$password_form.="<tr>\n";
		$password_form.="<td width=\"100%\" class=\"table_header\" colspan=\"2\">Password Required</td>\n";
		$password_form.="</tr>\n";
		$password_form.="<tr>\n";
		$password_form.="<td width=\"35%\" class=\"table_body\">Enter Password:</td>\n";
		$password_form.="<td width=\"65%\" class=\"table_body\"><input type=\"password\" name=\"check_password\" /></td>\n";
		$password_form.="</tr>\n";
		$password_form.="<td colspan=\"2\" align=\"center\" class=\"table_body\">\n";
		$password_form.="<input type=\"hidden\" name=\"verify_password\" value=\"true\">\n";
		$password_form.="<input type=\"submit\" value=\" Verify Password \" />\n";
		$password_form.="</td>\n";
		$password_form.="</tr>\n";
		$password_form.="</table>\n";
		$password_form.="</form>\n";
	}
}

// Function to get the extension a file.
function get_ext($key) { 
	$key=strtolower(substr(strrchr($key, "."), 1));
	// Cause there the same right?
	$key=str_replace("jpeg","jpg",$key);
	return $key;
}

$ext_count=count($allow_types);
$i=0;
foreach($allow_types AS $extension) {
	
	//Gets rid of the last comma for display purpose..
	
	If($i <= $ext_count-2) {
		$types .="*.".$extension.", ";
	} Else {
		$types .="*.".$extension;
	}
	$i++;
}
unset($i,$ext_count); // why not

$error="";
$display_message="";
$uploaded==false;

// Dont allow post if $password_form has been populated
If($_POST['submit']==true AND !$password_form) {

	For($i=0; $i <= $file_uploads-1; $i++) {
					
		If($_FILES['file']['name'][$i]) {
						
			$ext=get_ext($_FILES['file']['name'][$i]);
			$size=$_FILES['file']['size'][$i];
			$max_bytes=$max_file_size*1024;
			
			// For random names
			If($random_name){
				$file_name[$i]=time()+rand(0,100000).".".$ext;
			} Else {
				$file_name[$i]=$_FILES['file']['name'][$i];
			}
			
			//Check if the file type uploaded is a valid file type. 
						
			If(!in_array($ext, $allow_types)) {
							
				$error.= "Invalid extension for your file: ".$_FILES['file']['name'][$i].", only ".$types." are allowed.<br />Your file(s) were <b>not</b> uploaded.<br />";
							
				//Check the size of each file
							
			} Elseif($size > $max_bytes) {
				
				$error.= "Your file: ".$_FILES['file']['name'][$i]." is to big. Max file size is ".$max_file_size."kb.<br />Your file(s) were <b>not</b> uploaded.<br />";
				
				// Check if the file already exists on the server..
			} Elseif(file_exists($folder.$file_name[$i])) {
				
				$error.= "The file: ".$_FILES['file']['name'][$i]." exists on this server, please rename your file.<br />Your file(s) were <b>not</b> uploaded.<br />";
				
			}
						
		} // If Files
	
	} // For
	
	//Tally the size of all the files uploaded, check if it's over the ammount.
				
	$total_size=array_sum($_FILES['file']['size']);
	  			
	$max_combined_bytes=$max_combined_size*1024;
				
	If($total_size > $max_combined_bytes) {
		$error.="The max size allowed for all your files combined is ".$max_combined_size."kb<br />";
	}
		
	
	// If there was an error take notes here!
	
	If($error) {
		
		$display_message=$error;
		
	} Else {
		
		// No errors so lets do some uploading!
		
		For($i=0; $i <= $file_uploads-1; $i++) {
				
			If($_FILES['file']['name'][$i]) {
				
				If(@move_uploaded_file($_FILES['file']['tmp_name'][$i],$folder.$file_name[$i])) {
					$uploaded=true;
				} Else {
					$display_message.="Soubor ".$file_name[$i]." nemohl byt nahran, prosim vas ".$folder." dejte chmod na 777!\n";
				}
			}
				
		} //For
		
	} // Else
	
} // $_POST AND !$password_form

/*
//================================================================================
* Start the form layout
//================================================================================
:- Please know what your doing before editing below. Sorry for the stop and start php.. people requested that I use only html for the form..
*/
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $websitename; ?> - </title>

<style type="text/css">
	body{
		background-color:#FFFFFF;
		font-family: Verdana, Arial, sans-serif;
		font-size: 12pt;
		color: #000000;
	}
	
	.error_message{
		font-family: Verdana, Arial, sans-serif;
		font-size: 11pt;
		color: #FF0000;
	}
	
	.uploaded_message{
		font-family: Verdana, Arial, sans-serif;
		font-size: 11pt;
		color: #000000;
	}
	
	a:link{
		text-decoration:none;
		color: #000000;
	}
	a:visited{
		text-decoration:none;
		color: #000000;
	}
	a:hover{
		text-decoration:none;
		color: #000000;
	}
	
	
	.table {
		border-collapse:collapse;
		border:1px solid #000000;
		width:450px;
	}
	
	.table_header{
		border:1px solid #070707;
		background-color:#C03738;
		font-family: Verdana, Arial, sans-serif;
		font-size: 11pt;
		font-weight:bold;
		color: #FFFFFF;
		text-align:center;
		padding:2px;
	}
	
	.upload_info{
		border:1px solid #070707;
		background-color:#EBEBEB;
		font-family: Verdana, Arial, sans-serif;
		font-size: 8pt;
		color: #000000;
		padding:4px;
	}
	
	
	.table_body{
		border:1px solid #070707;
		background-color:#EBEBEB;
		font-family: Verdana, Arial, sans-serif;
		font-size: 10pt;
		color: #000000;
		padding:2px;
	}
	
	
	.table_footer{
		border:1px solid #070707;
		background-color:#C03738;
		text-align:center;
		padding:2px;
	}
	
	
	input,select,textarea {
		font-family: Verdana, Arial, sans-serif;
		font-size: 10pt;
		color: #000000;
		background-color:#AFAEAE;
		border:1px solid #000000;
	}
	
	.copyright {
		border:0px;
		font-family: Verdana, Arial, sans-serif;
		font-size: 9pt;
		color: #000000;
		text-align:right;
	}
	
	form{
		padding:0px;
		margin:0px;
	}
</style>

<?
If($password_form) {
	
	Echo $password_form;
	
} Elseif($uploaded==true) {?>

<table align="center"class="table">

	<tr>
		<td class="table_header" colspan="2"><b>Your file(s) have been uploaded!</b> </td>
	</tr>
	<tr>
	<td class="table_body">
	<br />
<?
For($i=0; $i <= $file_uploads-1; $i++) {
	
	If($_FILES['file']['name'][$i]) {
		$file=$i+1;
		
				Echo("<b>File #".$file.":</b> <a href=\"".$full_url.$file_name[$i]."\" target=\"_blank\">".$full_url.$file_name[$i]."</a><br /><br />\n");
	}
				
}

?>
<br />
<a href="<?=$_SERVER['PHP_SELF'];?>">Jdi z5</a>
<br />
</td>
</tr>
</table>

<?} Else {?>

<?If($display_message){?>
	<div align="center" class="error_message"><?=$display_message;?></div>
	<br />
<?}?>

<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="Scucaj Uploader">
<table align="center"class="table">

	<tr>
		<td class="table_header" colspan="2"><b><?=$websitename;?></b> </td>
	</tr>
	<tr>
		<td colspan="2" class="upload_info">
			<b>Len subory:</b> <?=$types?><br />
			<b>Max. Velkost 1 Suborov:</b> <?=$max_file_size?>kb.<br />
			<b>Max. velkost vset... Suborov:</b> <?=$max_combined_size?>kb.<br />
		</td>
	</tr>
	<?For($i=0;$i <= $file_uploads-1;$i++) {?>
		<tr>
			<td class="table_body" width="20%"><b>Vyber Subor:</b> </td>
			<td class="table_body" width="80%"><input type="file" name="file[]" size="30" /></td>
		</tr>
	<?}?>
	<tr>
		<td colspan="2" align="center" class="table_footer">
			<input type="hidden" name="submit" value="true" />
			<input type="submit" value=" Uploaduj! " /> &nbsp;
			<input type="reset" name="reset" value=" Resetovat adresar " />
		</td>
	</tr>
</table>
</form>

<?}//Please leave this here.. it really dosen't make people hate you or make your site look bad.. ?>
<table class="table" style="border:0px;" align="center">

<br>
<center>
<a href="http://195.146.156.212/index.php">

<img src="http://195.146.156.212/admin/spet.png" width="80" height="33" border="0" alt="spet">

</a>
</center>

<script language=JavaScript>
<!--
var message="Funkcia praveho tlacidla zakazana!";

function clickIE4(){
if (event.button==2){
alert(message);
return false;
}
}

function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}

if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("alert(message);return false")

// -->
</script> 
a Chcel by som take daco ze ked niekto uploadne subor tak nech do suboru upload.txt sa zapise ip, a nazov uploadu
prosim velmi vas prosim o pomoc
Napísať odpoveď