Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

zetto33

[Resolvido] Multiplo upload

Recommended Posts

Script para upload de múltiplos arquivos, no caso para arquivos de imagem, mas basta adaptar a parte referente ao MIME type.

 

Premissa:

Arquivo upload.php, Diretório upload, Testado no LAMP

 

<?php

$path = "/home/username/www/upload";
	
	if(isset($_POST['submit'])) {

		for($i=0;$i<10;$i++) {
		
		 if(!empty($_FILES['foto']['name'][$i])){
			
			//Renomeia nome das fotos
			$var = explode(" ",strtolower($_FILES['foto']['name'][$i]));
			foreach($var as $img){$picturename .= $img;}
			$picturename = preg_replace( "/[^a-z0-9\\.\\-\\_]/i", "", $picturename );
				
			//Procura por nomes repetidos
			if(file_exists("$path/".$picturename."")){
				$erro[] = "Já existe um arquivo com o nome ".$picturename." no servidor.";
			}
			
			//Seleciona MIME type
			list($nome, $ext) = explode("/", $_FILES['foto']['type'][$i]);
			if($ext!="jpg" & $ext!="jpeg" & $ext!="jpg" & $ext!="pjpeg" & $ext!="png" & $ext!="gif"){
				$erro[] = "Formato do arquivo ".$picturename." é inválido (".$ext."), serão aceitos jpg, png e gif";
			}
			
			//Seleciona por tamanho do arquivo
			if($_FILES['foto']['size'][$i]>1024000){
				$erro[] = "Arquivo muito grande (".$_FILES['foto']['size'][$i]."), tamanho máximo: 1024Kb";
			}
			
			//Mostra erro, ou faz o upload
			$file = $path.$picturename;
			if(sizeof($erro)){
				foreach($erro as $e){
					echo $e."<br />";
				}
			}
			else{
				move_uploaded_file($_FILES['foto']['tmp_name'][$i], $file);
				echo "Arquivo ".$_FILES['foto']['name'][$i]." carregado no servidor<br />";
				
			}
			
			//Limpa as variaveis
			unset($picturename,$e,$erro,$var,$img,$nome,$ext);
		 }
		}
	}
?>
<form method="post" action="upload.php"  enctype="multipart/form-data">
01 <input name="foto[]" type="file" size="15" /><br />
02 <input name="foto[]" type="file" size="15" /><br />
03 <input name="foto[]" type="file" size="15" /><br />
04 <input name="foto[]" type="file" size="15" /><br />
05 <input name="foto[]" type="file" size="15" /><br />
06 <input name="foto[]" type="file" size="15" /><br />
07 <input name="foto[]" type="file" size="15" /><br />
08 <input name="foto[]" type="file" size="15" /><br />
09 <input name="foto[]" type="file" size="15" /><br />
10 <input name="foto[]" type="file" size="15" /><br />

<input type="submit" name="submit" value="Enviar" /><br />
</form>

<?php
	
// Lista arquivos de um diretório
	if (is_dir($path)) {
	    if ($dh = opendir($path)) {
    	    while (($file = readdir($dh)) !== false) {
        	    echo "<a href=\"$file\" >http://seusite.com.br/upload/$file</a><br />\n";
        	}
        	closedir($dh);
    	}
	}
?>

;-)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.