Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar o máximo de arquivos a serem upados


vini_loock

Pergunta

Olá. Hoje precisei fazer um sistema de upload multiplo, de inicio funcionava bem, mas fui testar com mais arquivos, ai não funcionou como deveria, enviou apenas os 5 primeiros, como meu script não tem nada de mais, me bateu a dúvida, existe alguma configuração que limite isso?

Ou o erro está no meu script?

De qualquer modo vou posta-lo:

<?php
    class Upload{
        
        private $images = array();
        private $maxSize = 2048;
        private $tipos = array('jpg', 'png', 'gif', 'bmp', 'svg', 'JPG', 'PNG', 'GIF', 'BMP', 'SVG');
        private $dir = 'upload/temp/';
    
        public function Upload($images){
            $this->images = $images;
        }
        
        private function geraNome(){
            $nome = date('YmdHis').rand(0,999);
            return $nome;
        }
        
        public function valida($ext, $size){
            if($ext == 'jpg' || $ext == 'png' || $ext == 'gif'){
                return true;
            }else{
                return false;
            }
        }
        
        public function my_upload(){
            for($i = 0; $i < count($this->images); $i++){
                if($this->images['name'][$i] != ''){
                    $nome = explode('.', $this->images['name'][$i]);
                    $this->imageExt = $nome[count($nome)-1];
                    if($this->valida($this->imageExt, $this->images['size'][$i]) == true){
                        $this->imageNome = $this->geraNome();
                        $upa = move_uploaded_file($this->images['tmp_name'][$i], $this->dir.$this->imageNome.'.'.$this->imageExt);
                        if($upa){
                            echo '<div id="file" class="asd">
                                    <div class="success">
                                        <a href="java script: void(0);" id="close"></a>
                                        <p>'.$this->images['name'][$i].'</p>
                                        <p>Arquivo enviado com sucesso.</p>
                                        <p><a href="java script: void(0);" id="moreInfo">Mais informações</a>
                                        <div id="info">
                                            <p>Link da imagem: <a href="index.php?n='.$this->imageNome.'.'.$this->imageExt.'">http://www.imagens.miggoo.com.br/?n='.$this->imageNome.'.'.$this->imageExt.'</a></p>
                                        </div>
                                    </div>
                                </div>';
                        }else{
                        echo '<div id="file" class="asd">
                                <div class="error">
                                    <a href="java script: void(0)" id="close"></a>
                                    <p>'.$this->images['name'][$i].'</p>
                                    <p>Erro ao enviar</p>
                                    <p><a href="java script: void(0)" id="moreInfo">Mais informações</a>
                                    <div id="info">
                                        <p>O servidor se comportou de forma inesperada.<br />Tente novamente mais tarde.</p>
                                    </div>
                                </div>
                            </div>';
                        }
                    }else{
                        echo '<div id="file" class="asd">
                                <div class="alert">
                                    <a href="java script: void(0)" id="close"></a>
                                    <p>'.$this->images['name'][$i].'</p>
                                    <p>Arquivo inválido</p>
                                    <p><a href="java script: void(0)" id="moreInfo">Mais informações</a>
                                    <div id="info">
                                        <p>São permitidos apenas arquivos nos formatos: png, jpeg, gif, bmp e svg.<br />O tamanho máximo permitido por imagem é 2 MB.</p>
                                    </div>
                                </div>
                            </div>';
                    }
                }
            }
        }
    }
?>
include 'upload.class.php';
                                $submit = new Upload($_FILES['file']);
                                $submit->my_upload();

Estou dando uma revisada no código, porque escrevi ele com o que vinha na cabeça, mas não parece ter um erro capaz de fazer isso.

Se quiserem ver mais de perto:

http://www.miggoo.com.br/

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Opa sem dúvida:

<form action="" method="post" enctype="multipart/form-data">
						<input type="hidden" name="act" value="upload" />
						<div id="inputFile">
							<input type="file" name="file[]" id="1" />
						</div>
						<div id="inputUpload">
							<input type="button" />
						</div>
					</form>

O resto dos inputs file são adicionados pelo js

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...