Jump to content


ourself

Member Since 12/07/2009
Offline Last Active 25/03/2010, 00:51
-----

Topics I've Started

Upload Para Servidor Remoto (Amazon S3)

07/03/2010, 10:37

Não quero que meu server fique lento quando
estiver muitas pessoas ouvido ao mesmo tempo então resolvi
enviar todos os upload direto pra amazon s3

exemplo: s3.amazonaws.com
sennha: minhasenha

como implementar isso no meu script pra que os audio que sejam enviados direto pra
amazon s3?
agradeço desde já
<?php

session_start();
include("include/config.php");
include("include/functions/import.php");
$thebaseurl = $config['baseurl'];

$isvideouploadpage = "1";
STemplate::assign('isvideouploadpage',$isvideouploadpage);

$mainmenu = "5";
STemplate::assign('mainmenu',$mainmenu);

$submenu = "11";
STemplate::assign('submenu',$submenu);

if ($_SESSION[USERID] != "" && $_SESSION[USERID] >= 0 && is_numeric($_SESSION[USERID]))
{
	if ($config['verify_upload'] != "0")
	{
		if ($_SESSION[VERIFIED] != "1")
		{
			$error = "$lang[835]";
		}
	}
	
	if ($error == "")
	{
		header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    	header('Cache-Control: no-store, no-cache, must-revalidate');
    	header('Cache-Control: post-check=0, pre-check=0', FALSE);
    	header('Pragma: no-cache');

    	include "uu_conlib_audios.php";
    	$tmp_sid = md5(uniqid(mt_rand(), true));
    	$config_file = $default_config_file;                                                                                                   
    	$path_to_upload_script .= '?tmp_sid=' . $tmp_sid;
    	$path_to_ini_status_script .= '?tmp_sid=' . $tmp_sid;
		
		STemplate::assign('tmp_sid', $tmp_sid);
    	STemplate::assign('disallow_extensions', $disallow_extensions);
    	STemplate::assign('allow_extensions', $allow_extensions);
    	STemplate::assign('path_to_ini_status_script', $path_to_ini_status_script);
    	STemplate::assign('check_file_name_format', $check_file_name_format);
    	STemplate::assign('check_disallow_extensions', $check_disallow_extensions);
    	STemplate::assign('check_allow_extensions', $check_allow_extensions);
    	STemplate::assign('check_null_file_count', $check_null_file_count);
    	STemplate::assign('check_duplicate_file_count', $check_duplicate_file_count);
    	STemplate::assign('max_upload_slots', $max_upload_slots);
    	STemplate::assign('progress_bar_width', $progress_bar_width);
    	STemplate::assign('path_to_upload_script', $path_to_upload_script);
    	STemplate::assign('multi_upload_slots', $multi_upload_slots);
		
		if(isset($_GET['rnd_id']))
		{  
    		$temp_dir = $_REQUEST['temp_dir'];
    		$_POST_DATA = getPostData($temp_dir, $_REQUEST['tmp_sid']);
    
    		$upload_dir = $_POST_DATA['upload_dir'];
    		$upload_file = $_POST_DATA['upfile_0'];
    		$upload_file_path = $upload_dir . $upload_file;
				
    		if(!is_file($upload_file_path) || filesize($upload_file_path) < 0)
    		{
				$error = '$lang[836]';
    		}
    
    		$upload_file_size = filesize($uploaded_file_path);
				
    		if($error == "")
    		{
				$pos = strrpos($upload_file,".");
				$ph = strtolower(substr($upload_file,$pos+1,strlen($upload_file)-$pos));
				$space = round($upload_file_size/(1024*1024));
					
				if ($ph!="mp3")
	    			$error = "$lang[837]";	
    			}
				elseif ($space>$config[max_audio_size])
				{
					$error = "$lang[838]";	
				}
    
    			if($error == "")
    			{

					$approve_audios = $config[approve_audios];
				
					if($approve_audios == 1) 
					{
						$active = "active='0'";
					} 
					else 
					{
						$active = "active='1'";
					}
				

  					$thetitle = htmlentities(strip_tags($_POST_DATA[title]),ENT_QUOTES,'UTF-8'); 
					$thetags = htmlentities(strip_tags($_POST_DATA[tags]),ENT_QUOTES,'UTF-8'); 
  					$thedesc = htmlentities(strip_tags($_POST_DATA[vwdescription]),ENT_QUOTES,'UTF-8'); 
					$thecat = htmlentities(strip_tags($_POST_DATA[category]),ENT_QUOTES,'UTF-8');
					$thepublic = htmlentities(strip_tags($_POST_DATA['public']),ENT_QUOTES,'UTF-8');
					$theallowcomments = htmlentities(strip_tags($_POST_DATA[allowcomments]),ENT_QUOTES,'UTF-8');
					$theallowratings = htmlentities(strip_tags($_POST_DATA[allowratings]),ENT_QUOTES,'UTF-8');
					$theallowembeds = htmlentities(strip_tags($_POST_DATA[allowembeds]),ENT_QUOTES,'UTF-8');
					$theallowdownloads = htmlentities(strip_tags($_POST_DATA[allowdownloads]),ENT_QUOTES,'UTF-8');
					$themature = htmlentities(strip_tags($_POST_DATA[mature]),ENT_QUOTES,'UTF-8');

  					$query = "INSERT INTO audios SET USERID='$_SESSION[USERID]', title='".mysql_real_escape_string($thetitle)."', description='".mysql_real_escape_string($thedesc)."', tags='".mysql_real_escape_string($thetags)."', categories='".mysql_real_escape_string($thecat)."', filesize='$space', public='".mysql_real_escape_string($thepublic)."', time_added='".time()."', date_added='".date("Y-m-d")."', $active, allowcomments='".mysql_real_escape_string($theallowcomments)."', allowratings='".mysql_real_escape_string($theallowratings)."', allowembeds='".mysql_real_escape_string($theallowembeds)."', allowdownloads='".mysql_real_escape_string($theallowdownloads)."', mature='".mysql_real_escape_string($themature)."'";

					$conn->execute($query);
    				$audioid = mysql_insert_id();
        			
					$original = $audioid.".".$ph;
					$audior = $config['audiodir'].'/'.$original;
	
					if(rename($upload_file_path,$audior))
					{
						exec("mplayer -vo null -ao null -frames 0 -identify $audior", $difh);
    					
						while (list($k,$v)=each($difh))
    					{
        	    			if ($length = strstr($v,'ID_LENGTH='))
        	    				break;
    					}
						
    					$lx = explode("=",$length);
    					$runtime = $lx[1];
					} 
					else
					{
	    				$error = '$lang[839]';
					}
    			}

				if($error == "")
    			{
					if (file_exists($audior))
					{
						$athumb = $config['athumbdir']."/default.png";
						copy($athumb, $config['athumbdir']."/".$audioid."-1.png");
						$athumb = $config['athumbdir']."/default2.png";
						copy($athumb, $config['athumbdir']."/".$audioid."-2.png");
					}
				}
    
    			if($error == "")
    			{

        			$query = "UPDATE audios SET original_audio='$original', audio_name='".$audioid.".".$ph."', extension='.".$ph."', runtime='$runtime' WHERE AUDIOID='$audioid'";
        			$conn->execute($query);
        			header("Location:$config[baseurl]/upload_audio_complete.php?audioid=$audioid");
    			}	
		}
		$templateselect = "uploadaudio.tpl";
	}
	else
	{
		$templateselect = "empty.tpl";
	}
}
else
{
	header("Location:$config[baseurl]/login.php");exit;
}

STemplate::assign('pagetitle',"$lang[797]");

//TEMPLATES BEGIN
STemplate::assign('error',$error);
STemplate::display('header.tpl');
STemplate::display($templateselect);
STemplate::display('footer.tpl');
//TEMPLATES END
?>

IPB Skin By Virteq