Ir para conteúdo

POWERED BY:

Arquivado

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

fsales_123

Erro upload

Recommended Posts

alguém me ajudaa... da erro quando faz upload da imagem

 

e647d79a68fbdfbbce915b33a51e1618b312e035

 

codigo:

       if ($this->uploaded) {
                $this->log .= '- file name OK<br />';
                ereg('\.([^\.]*$)', $this->file_src_name, $extension);
                if (is_array($extension)) {
                    $this->file_src_name_ext      = strtolower($extension[1]);
                    $this->file_src_name_body     = substr($this->file_src_name, 0, ((strlen($this->file_src_name) - strlen($this->file_src_name_ext)))-1);
                } else {
                    $this->file_src_name_ext      = '';
                    $this->file_src_name_body     = $this->file_src_name;
                }
                $this->file_src_size = $file['size'];
                $mime_from_browser = $file['type'];
            }
        }

        if ($this->uploaded) {
            $this->file_src_mime = null;
            // checks MIME type with Fileinfo PECL extension
            if (!$this->file_src_mime || !is_string($this->file_src_mime) || empty($this->file_src_mime)) {
                if (getenv('MAGIC') === FALSE) {
                    if (substr(PHP_OS, 0, 3) == 'WIN') {
                        putenv('MAGIC=' . realpath(ini_get('extension_dir') . '/../') . 'extras/magic');
                    } else {
                        putenv('MAGIC=/usr/share/file/magic');
                    }
                }
                if (function_exists('finfo_open')) {
                    $f = @finfo_open(FILEINFO_MIME, getenv('MAGIC'));
                    if (is_resource($f)) {
                        $mime = finfo_file($f, realpath($this->file_src_pathname));
                        finfo_close($f);
                        $this->file_src_mime = $mime;
                        $this->log .= '- MIME type detected as ' . $this->file_src_mime . ' by Fileinfo PECL extension<br />';
                    }
                } elseif (class_exists('finfo')) {
                    $f = new finfo( FILEINFO_MIME );
                    $this->file_src_mime = $info->file(realpath($this->file_src_pathname));
                    $this->log .= '- MIME type detected as ' . $this->file_src_mime . ' by Fileinfo PECL extension<br />';
                }
            }
            // checks MIME type with shell if unix access is authorized
            if (!$this->file_src_mime || !is_string($this->file_src_mime) || empty($this->file_src_mime)) {
                if (substr(PHP_OS, 0, 3) != 'WIN' && strlen($mime = @shell_exec("file -bi ".escapeshellarg($this->file_src_pathname))) != 0) {
                    $this->file_src_mime = trim($mime);
                    $this->log .= '- MIME type detected as ' . $this->file_src_mime . ' by UNIX file() command<br />';
                }
            }
            // checks MIME type with mime_magic
            if (!$this->file_src_mime || !is_string($this->file_src_mime) || empty($this->file_src_mime)) {
                if (function_exists('mime_content_type')) {
                    $this->file_src_mime = mime_content_type($this->file_src_pathname);
                    $this->log .= '- MIME type detected as ' . $this->file_src_mime . ' by mime_content_type()<br />';
                }
            }

Compartilhar este post


Link para o post
Compartilhar em outros sites

ereg() está obsoleta. Use preg_match.

Dó próprio manual do PHP:

 


Nota:
preg_match(), que usa a sintaxe de expressão regular compatível com Perl, é normalmente uma rápida alternativa para ereg().

fonte: http://php.net/ereg

 

 

sobre mime_content_type, também do manual do PHP:

 


Aviso
This function has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.

fonte: http://php.net/manual/pt_BR/function.mime-content-type.php

Prefira usar funções da lib FileInfo

 

A restrição de open_basedir é relativa a servidores compartilhados, onde você não pode acessar diretórios restritos. Se precisar mexer nesses diretórios restritos, terá de pegar um servidor dedicado ou VPS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo tem como explica melhor o mime_content_type, não sei muito php oq eu poderia fazer? a hospedagem qe estou é gratiz.... sera qe alguma hospedagem paga iria da esse erro? obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo tem como explica melhor o mime_content_type, não sei muito php oq eu poderia fazer?

Veja o link que mandei. Nos comentários há exemplos, como este: http://php.net/manual/pt_BR/function.mime-content-type.php#75759

 

a hospedagem qe estou é gratiz.... sera qe alguma hospedagem paga iria da esse erro? obrigado!

hospedagem grátis têm muitas limitações. Se é um projeto sério, vale a pena gastar um pouco com um host decente

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.