Amazon S3 é a melhor opção para reduzir o custo da largura de banda como o tempo de carregamento de arquivos também. A funcionalidade de upload é a parte mais sensível no projeto web.
Download Script Live Demo
Download script contém quatro arquivos.
S3.php //Amazon S3 arquivo de biblioteca
s3_config.php //Key arquivo de configuração
image_check.php // validador arquivo
index.php
s3_config.php //Key arquivo de configuração
image_check.php // validador arquivo
index.php
Entre com a conta na Amazon e clique aqui para obter credenciais de acesso.
s3_config.php
Aqui você tem que fornecer detalhes importantes da Amazônia.
<?php
// Bucket Name
$bucket="BucketName";
if (!class_exists('S3'))require_once('S3.php');
//AWS access info
if (!defined('awsAccessKey')) define('awsAccessKey', 'ACCESS_KEY');
if (!defined('awsSecretKey')) define('awsSecretKey', 'ACCESS_Secret_KEY');
$s3 = new S3(awsAccessKey, awsSecretKey);
$s3->putBucket($bucket, S3::ACL_PUBLIC_READ);
?>
// Bucket Name
$bucket="BucketName";
if (!class_exists('S3'))require_once('S3.php');
//AWS access info
if (!defined('awsAccessKey')) define('awsAccessKey', 'ACCESS_KEY');
if (!defined('awsSecretKey')) define('awsSecretKey', 'ACCESS_Secret_KEY');
$s3 = new S3(awsAccessKey, awsSecretKey);
$s3->putBucket($bucket, S3::ACL_PUBLIC_READ);
?>
index.php
O arquivo contém código PHP e HTML para enviar o formulário.
<?php
include('image_check.php'); // getExtension Method
$msg='';
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
$ext = getExtension($name);
if(strlen($name) > 0)
{
// Validação do formato de arquivo
if(in_array($ext,$valid_formats))
{
// validação Tamanho do arquivo
if($size<(1024*1024))
{
include('s3_config.php');
//Renomear nome da imagem.
$actual_image_name = time().".".$ext;
if($s3->putObjectFile($tmp, $bucket , $actual_image_name, S3::ACL_PUBLIC_READ) )
{
$msg = "S3 Upload Successful.";
$s3file='http://'.$bucket.'.s3.amazonaws.com/'.$actual_image_name;
echo "<img src='$s3file'/>";
echo 'S3 File URL:'.$s3file;
}
else
$msg = "S3 Carregar Fail.";
}
else
$msg = "Tamanho da imagem Max 1 MB";
}
else
$msg = "arquivo inválido, faça upload do arquivo de imagem.";
}
else
$msg = "Por favor, selecione o arquivo de imagem.";
}
?>
//HTML Code
<form action="" method='post' enctype="multipart/form-data">
Upload image file here
<input type='file' name='file'/> <input type='submit' value='Upload Image'/>
<?php echo $msg; ?>
</form>
include('image_check.php'); // getExtension Method
$msg='';
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
$ext = getExtension($name);
if(strlen($name) > 0)
{
// Validação do formato de arquivo
if(in_array($ext,$valid_formats))
{
// validação Tamanho do arquivo
if($size<(1024*1024))
{
include('s3_config.php');
//Renomear nome da imagem.
$actual_image_name = time().".".$ext;
if($s3->putObjectFile($tmp, $bucket , $actual_image_name, S3::ACL_PUBLIC_READ) )
{
$msg = "S3 Upload Successful.";
$s3file='http://'.$bucket.'.s3.amazonaws.com/'.$actual_image_name;
echo "<img src='$s3file'/>";
echo 'S3 File URL:'.$s3file;
}
else
$msg = "S3 Carregar Fail.";
}
else
$msg = "Tamanho da imagem Max 1 MB";
}
else
$msg = "arquivo inválido, faça upload do arquivo de imagem.";
}
else
$msg = "Por favor, selecione o arquivo de imagem.";
}
?>
//HTML Code
<form action="" method='post' enctype="multipart/form-data">
Upload image file here
<input type='file' name='file'/> <input type='submit' value='Upload Image'/>
<?php echo $msg; ?>
</form>
Crie um balde com botão direito, selecione Propriedades, adicione a permissão selecione Todos e coloque Ativar.
image_check.php
Este arquivo deve ajuda-lo a obter extensão do arquivo.
<?php
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
//Aqui você pode adicionar extensões de arquivo válidos.
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
?>
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
//Aqui você pode adicionar extensões de arquivo válidos.
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
?>
0 Comentários:
Observação: somente um membro deste blog pode postar um comentário.