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

problema com upload de imagens


david ferrari

Pergunta

tem hora que passa mais não aparece a imagem tem hora que não funciona nada não estou conseguindo arrumar se alguém puder ajudar são 2 arquivos.

adicionar.php

<?php


if (session_is_registered('user_login')) { //verifica se o usuario foi logado

if(!isset($_POST['escolher']) and !isset($_POST['envia'])){//formulario para escolha do tipo de noticia
?>
<a name="top"></a>
<font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar Notícia</b></font><br>
<center>
<hr color="#CCCCCC" width="100%">
<br>
<font face="Arial, Helvetica, sans-serif" size="1" color="#000000"><b>A notícia
que você deseja adicionar, é:</b>
<form action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post">
<input type="radio" name="opcao" value="1" checked> Com Imagem
<br>
<input type="radio" name="opcao" value="2"> Sem Imagem
<br>
<br>
<input type="hidden" name="escolher">
<input type="submit" name="enviar" value="Adicionar">
</form>
</font>
<br>
<p align="right"><a class="noticia" href="adm_noticias.php" target="_self">Painel de Administração</a></p>
<br>
<hr color="#CCCCCC" width="100%">
</center>
<?php
} elseif (isset($_POST['escolher']) and ($_POST['opcao'] != "")){
   if(isset($_POST['opcao']) and ($_POST['opcao'] == "1")){

print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">");

//Se a notícia for submetida
//Adicina ao banco de dados supernews
if(isset($_POST['envia'])) {
    
if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "") and isset($_FILES['arquivo']) and ($_FILES['arquivo'] != "")){

    
$query = mysql_query( "SELECT diretorio FROM {$prefixdb}noticias WHERE diretorio = '{$_FILES['arquivo']['name']}'" );
if(mysql_num_rows($query) == 0) {

$uploaddir = 'upload_imagens/';

$allowed_file_types = array(1 => 'jpg','jpeg','png', 'gif','JPEG','JPG','PNG','GIF');
$extension_array = explode('.', $_FILES['arquivo']['name']);
$extension = $extension_array[1];

if (in_array($extension, $allowed_file_types)) {
    
if($_FILES['arquivo']['size'] > "1000000"){

    print("&lt;script> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n");

} else {
    
$dim_figura = @getimagesize($_FILES['arquivo']['tmp_name']); //dimesao da imagem
$largura = $dim_figura[0];
$altura = $dim_figura[1];

$filename = $_FILES['arquivo']['name'];

$dirgaleria = $config_galeria['urlgaleria']; // URL da galeria de fotos
$uploaddir2 = $config_galeria['dirservidor']; // Diretorio no servidor

if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $_FILES['arquivo']['name'])) {
    $diretorio = $_FILES['arquivo']['name'];
    
    //classe que gera os thumbnails
    include_once("thumbnail.php");
    $imn = new ImageManipulator;
    $imn -> ImageManipulator();
    $imn -> decider($extension,$filename,$config_galeria['thumb_largura'],$config_galeria['thumb_altura'],$config_galeria['jpeg_qualidade'],$dirgaleria,$uploaddir2,$config_galeria['thumb_sufix'],$config_galeria['chmod_pics']);
    
} else {
    print("Houve um erro na transferencia do arquivo:\n");
    if($_FILES['arquivo']['error'] == 1){
    print("O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini");
    }
    elseif($_FILES['arquivo']['error'] == 2){
    print("O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário html.");
    }
    elseif($_FILES['arquivo']['error'] == 3){
    print("o upload do arquivo foi feito parcialmente.");
    }
    elseif($_FILES['arquivo']['error'] == 4){
    print("Não foi feito o upload do arquivo.");
    }
}
}
} else {
    print("<center><font color=\"#FF0000\" size=\"1\"><b>Somente arquivos com extensão .gif e .jpeg são suportados</b></font></center>");
    die();
}

} else {
    print("&lt;script>alert('Esta imagem já está cadastrada no banco de dados'); history.back();</script>");
    die();        
}

$largura = $largura;
$altura = $altura;
$secao = formatDados($_POST['secao']);
$titulo = formatDados($_POST['titulo']);

if (!get_magic_quotes_gpc()) {
   $conteudo = addslashes(ereg_replace("[\"\"]","",formatDados($_POST['ftb_geral'])));
} else {
   $conteudo = ereg_replace("[\"\"]","",formatDados($_POST['ftb_geral']));
}

$data = date("Y-m-d H:i:s");

$sql = "INSERT INTO {$prefixdb}noticias SET
       diretorio='$diretorio',
       idcategoria='$secao',
       largura='$largura',
       altura='$altura',
       titulo='$titulo',
       conteudo='$conteudo',
       data='$data'";
if(@mysql_query($sql)){
print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A notícia foi adicionada com sucesso!
      <br>Você está sendo redirecionado para o
      Painel de Administração</b></font></p>");
} else {
print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a notícia " . mysql_error() . '</b></font></p><br>');
}
} else {
print("<center><b>Todos os campos são obrigatórios <br> <a href='java script:history.go(-1)'>Voltar</a></b></center>");
}

} else { //Se a variavel envia não for setada
?>
<div align="center">
<center>
    <table border="0" cellpadding="0" cellspacing="1" width="100%">
      <tr>
        <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar 
            de opção</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel 
            de Administração</a></div></td>
      </tr>
      <tr> 
        <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar 
          Notícia com imagem</b></font>
          <hr color="#CCCCCC"></td>
      </tr><tr><td>
      <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);">
        <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Upload 
          para Imagem:*</b></font></p></td></tr>
        <tr> 
          <td> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="file" name="arquivo" size="38"> 
          </td>
        </tr>
        <tr>
          <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>seção:*</b></font>
          </td>
        </tr>
        <tr>
          <td>
          <?php
          $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias ORDER BY categoria");
          if($consulta_sql){
           print('<select name="secao" size="1">');
           if(mysql_num_rows($consulta_sql) > 0){
             while($linha = mysql_fetch_array($consulta_sql)){
                   $idcat = $linha['id'];
                 $categoria = $linha['categoria'];
               
               print('<option value="'.$idcat.'">'.$categoria.'</option>');
             }
           } else {
             print('<option value="">Não há Categorias cadastradas</option>');
           }
           print('</select>');
          }
          ?>
          </td>
        </tr>        
        <tr> 
          <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Título:*</b></font> 
          </td>
        </tr>
        <tr> 
          <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td>
        </tr>
        <tr> 
          <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conteúdo:*</b></font></p></td>
        </tr>
        <tr> 
          <td>
          <?php
              include("editor_html.php");
          ?>          
          </td>
        </tr>
        <tr> 
          <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="1"> 
            <input type="submit" name="envia" value="Adicionar" />
            | 
            <input type="reset" name="limpa" value="Limpar" \>
      </form>
      <br>
      <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">* 
      Campos obrigatórios</font> </td> </tr> 
      <tr> 
        <td> <hr color="#CCCCCC"> </td>
      </tr>
    </table>
</center>
</div>
<br>
<center>
  <a class="noticia" href="?acao=add_news" target="_self">Mudar de opção</a> 
  | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administração</a> 
  | <a class="noticia" href="#top" target="_self">Topo</a>
</center>
<?php
  }
  } elseif(isset($_POST['opcao']) and ($_POST['opcao'] == "2")) {

print("<font face=\"Verdana,Arial,Helvetica,sans-serif\" size=\"1\" color=\"#000000\">");

//Se a notícia for submetida
//Adicina ao banco de dados supernews
if(isset($_POST['envia'])) {
if(isset($_POST['secao']) and ($_POST['secao'] != "") and isset($_POST['titulo']) and ($_POST['titulo'] != "") and isset($_POST['ftb_geral']) and ($_POST['ftb_geral'] != "")){

$secao = formatDados($_POST['secao']);
$titulo = formatDados($_POST['titulo']);

if (!get_magic_quotes_gpc()) {
   $conteudo = addslashes(ereg_replace("[\"\"]","",formatDados($_POST['ftb_geral'])));
} else {
   $conteudo = ereg_replace("[\"\"]","",formatDados($_POST['ftb_geral']));
}

$data = date("Y-m-d H:i:s");

$sql = "INSERT INTO {$prefixdb}noticias SET
       idcategoria='$secao',
       titulo='$titulo',
       conteudo='$conteudo',
       data='$data'";

if(@mysql_query($sql)){
print("<p align=\"center\"><font color=\"#000000\" size=\"1\"><b>A notícia foi adicionada com sucesso!
      <br>Você está sendo redirecionado para o
      Painel de Administração</b></font></p>");
} else {
print("<p align=\"center\"><font color=\"#FF0000\" size=\"1\"><b>Erro ao adicionar a notícia " . mysql_error() . '</b></font></p><br>');
}
} else {
print("<center><b>Todos os campos são obrigatórios <br> <a href='java script:history.go(-1)'>Voltar</a></b></center>");
}

} else { //Se a variavel envia não for setada
?>
<div align="center">
<center>
    <table border="0" cellpadding="0" cellspacing="1" width="100%">
      <tr>
        <td><div align="center"> <a class="noticia" href="?acao=add_news" target="_self">Mudar 
            de opção</a> | <a class="noticia" href="adm_noticias.php" target="_self">Painel 
            de Administração</a></div></td>
      </tr>
      <tr> 
        <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="1"><b>Adicionar 
          Notícia sem imagem</b></font>
          <hr color="#CCCCCC"></td>
      </tr><tr><td>
      <form name="form_pagina" action="<?php print($_SERVER['PHP_SELF']); ?>?acao=add_news" method="post" enctype="multipart/form-data" language="javascript" onsubmit="ValidatorOnSubmit();FTB_CopyHtmlToHidden(ftb_geral_editor,document.getElementById('ftb_geral'),ftb_geral_HtmlMode);"></td></tr>
        <tr>
          <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>seção:*</b></font>
          </td>
        </tr>
        <tr>
          <td>
          <?php
          $consulta_sql = mysql_query("SELECT * FROM {$prefixdb}notcategorias ORDER BY categoria");
          if($consulta_sql){
           print('<select name="secao" size="1">');
           if(mysql_num_rows($consulta_sql) > 0){
             while($linha = mysql_fetch_array($consulta_sql)){
                   $idcat = $linha['id'];
                 $categoria = $linha['categoria'];
               
               print('<option value="'.$idcat.'">'.$categoria.'</option>');
             }
           } else {
             print('<option value="">Não há Categorias cadastradas</option>');
           }
           print('</select>');
          }
          ?>
          </td>
        </tr>        
          <tr> 
          <td> <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Título:*</b></font> 
          </td>
        </tr>
        <tr> 
          <td> <input type="text" maxlenght="250" size="50" name="titulo" /> </td>
        </tr>
        <tr> 
          <td> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1"><b>Conteúdo:*</b></font></p></td>
        </tr>
        <tr> 
          <td> 
          <?php
              include("editor_html.php");
          ?>          
          </td>
        </tr>
        <tr> 
          <td> <input type="hidden" name="escolher"> <input type="hidden" name="opcao" value="2"> 
            <input type="submit" name="envia" value="Adicionar" />
            | 
            <input type="reset" name="limpa" value="Limpar" \>
      </form>
      <br>
      <font face="Verdana, Arial, Helvetica, sans-serif" color="#006699" size="1">* 
      Campos obrigatórios</font> </td> </tr> 
      <tr> 
        <td> <hr color="#CCCCCC"> </td>
      </tr>
    </table>
</center>
</div>
<br>
<center>
  <a class="noticia" href="?acao=add_news" target="_self">Mudar de opção</a> 
  | <a class="noticia" href="adm_noticias.php" target="_self">Painel de Administração</a> 
  | <a class="noticia" href="#top" target="_self">Topo</a>
</center>
<?php
}
}
}
}else{
print("<html>\n<head>\n<title>Error!!</title>\n</head>\n<body>\n");
print("<center><pre>Usuário não fornecido, dirija-se para <a href='adm_noticias.php' target='_self'>adm_noticias.php</a> para ser logado</pre></center>\n");
print("</body>\n</html>");
}
?>
outro arquivo thumbnail.php
<?




class ImageManipulator {

        //----------------------
        //constructor
        //----------------------
        function ImageManipulator() {}

        //----------------------
        //checkGD(): check for GD2 support
        //----------------------
        function checkGD() {
                $msg = 1;
                if (!function_exists("gd_info"))   $msg = "Seu servidor não suporta GD2.";
                return $msg;
        }

        //----------------------
        //decider(): Manage image depending on type
        //----------------------
        function decider($image_type, $filename, $width, $height, $quality, $path, $path_server, $suffix, $mode) {
                $image_type = strtolower($image_type);
                switch($image_type) {
                        case 'jpg':
                                $this -> doItJpeg($filename, $width, $height, $quality, $path, $path_server, $suffix, $mode);
                                break;
                        case 'jpeg':
                                $this -> doItJpeg($filename, $width, $height, $quality, $path, $path_server, $suffix, $mode);
                                break;
                        case 'png':
                                $this -> doItPng($filename, $width, $height, $path, $path_server, $suffix, $mode);
                                break;
                        default:
                }
        }

        //----------------------
        //doItJpeg(): resize the image
        //----------------------
        function doItJpeg($filename, $width, $height, $quality, $path, $path_server, $suffix, $mode) {

                //$this -> checkGD()

                $msg = "1"; //initially, assume all is well

                //first, create a blank image
                $bits = explode(".", $filename);
                $thumb_filename = $bits[0] . $suffix . "." . $bits[1];
                $path_thumb = $path_server . $thumb_filename;
                $path_server .= $filename;

                /*$im = @imagecreatefromjpeg($path); //attempt to open blank image
                //courtesy (vic at zymsys dot com)
                if (!$im) { //check if it failed
                   $im  = imagecreate(150, 30); //create blank image
                   $bgc = imagecolorallocate($im, 255, 255, 255);
                   $tc  = imagecolorallocate($im, 0, 0, 0);
                   imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
                   imagestring($im, 1, 5, 5, "Error loading $filename", $tc); //output error message
                }*/

                $size = GetImageSize($path_server); //get width/height  (path support from PHP 4.05)
                $image = @imagecreatefromjpeg($path_server); //attempt to open original image

                //resize only if bigger than than the allowed thumbnail size
                if($size[0]>$width || $size[1]>$height) {
                        //courtesy "User contributed notes" at php.net
                        if ($size[0]>=$size[1]) { //if width is greater than height or equal
                                $sizemin[0]=$width;
                                $sizemin[1]=$height;
                        }
                        if ($size[1]>$size[0]) { //if height is greater than width
                                $sizemin[0]=$height;
                                $sizemin[1]=$width;
                        }
                }
                else {
                        $sizemin[0]=$size[0];
                        $sizemin[1]=$size[1];
                }

                $thumbnail = imagecreatetruecolor($sizemin[0],$sizemin[1]);
                @ImageCopyResampled($thumbnail, $image, 0, 0, 0, 0, $sizemin[0], $sizemin[1], $size[0], $size[1]); //resize and resample image

                //chmod original file to 0777 temporarily, then return to 0644
                if(!@chmod($path_server,0777))
                if($config['debug_mode'] == 1)   echo "Não foi possível alterar o chamod do diretório: ($path_server)";

                @ImageDestroy($image); //free memory
                if (!@ImageJPEG($thumbnail, $path_thumb, $quality)) { // try to save thumbnail image
                        $msg .= "Não foi possível criar o thumbnail";
                }
                if(!@chmod($path_server, 0644))
                if($config['debug_mode'] == 1)   echo "Não foi possível alterar o chamod do diretório: ($path_server)";

                return $msg;
        }

        //----------------------
        //doItPng(): resize the image
        //----------------------
        function doItPng($filename, $width, $height, $path, $path_server, $suffix, $mode) {
                $msg = "1"; //initially, assume all is well
                $bits = explode(".", $filename);
                $thumb_filename = $bits[0] . $suffix . "." . $bits[1];
                $path_thumb = $path_server . $thumb_filename;
                $path_server .= $filename;

                $size = GetImageSize($path_server); //get width/height  (path support from PHP 4.05)
                $image = @imagecreatefrompng($path_server); //attempt to open original image

                //resize only if bigger than than the allowed thumbnail size
                if($size[0]>$width || $size[1]>$height) {
                        //courtesy "User contributed notes" at php.net
                        if ($size[0]>=$size[1]) { //if width is greater than height or equal
                                $sizemin[0]=$width;
                                $sizemin[1]=$height;
                        }
                        if ($size[1]>$size[0]) { //if height is greater than width
                                $sizemin[0]=$height;
                                $sizemin[1]=$width;
                        }
                }
                else {
                        $sizemin[0]=$size[0];
                        $sizemin[1]=$size[1];
                }

                $thumbnail = imagecreatetruecolor($sizemin[0],$sizemin[1]);
                @ImageCopyResampled($thumbnail, $image, 0, 0, 0, 0, $sizemin[0], $sizemin[1], $size[0], $size[1]); //resize and resample image

                //chmod original file to 0777 temporarily, then return to 0644
                if(!@chmod($path_server,0777))
                if($config['debug_mode'] == 1)   echo "Não foi possível alterar o chamod do diretório: ($path_server)";

                @ImageDestroy($image); //free memory
                if (!@ImagePNG($thumbnail, $path_thumb)) { // try to save thumbnail image
                        $msg .= "Não foi possível criar o thumbnail";
                }
                if(!@chmod($path_server, 0644))
                if($config['debug_mode'] == 1)   echo "Não foi possível alterar o chamod do diretório: ($path_server)";

                return $msg;
        }

        //----------------------
        //doItToBrowser()
        //----------------------
        function doItToBrowser($pic, $path, $width, $height, $quality, $smart_resize) {

                //strip extension from value
                //$bits = explode(".", substr($pic,-6,6)); $extension = $bits[1]; //get the extension
                $bits = $this -> splitFilenameAndExtensionMirror($pic);
                $type = $bits[1];

                //first create a blank image
                $size = getimagesize($path); //get width/height  (path support from PHP 4.05)

                if(strcasecmp($type, "jpeg") == 0 || strcasecmp($type, "jpg") == 0)
                        $image = imagecreatefromjpeg($path); //attempt to open original image
                elseif(strcasecmp($type, "gif") == 0)
                        $image = imagecreatefromgif($path); //attempt to open original image
                else
                        $image = imagecreatefrompng($path); //attempt to open original image

                if($smart_resize == 1) {
                        //resize only if bigger than than the allowed thumbnail size
                        if($size[0]>$width || $size[1]>$height) {
                                if ($size[0]>=$size[1]) { //if width is greater than height or equal
                                        $sizemin[0]=$width;
                                        $sizemin[1]=$height;
                                }
                                if ($size[1]>$size[0]) { //if height is greater than width
                                        $sizemin[0]=$height;
                                        $sizemin[1]=$width;
                                }
                        }
                        else {
                                $sizemin[0]=$size[0];
                                $sizemin[1]=$size[1];
                        }
                }
                else {
                        $sizemin[0]=$width;
                        $sizemin[1]=$height;
                }

                $thumbnail = imagecreatetruecolor($sizemin[0],$sizemin[1]);
                imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $sizemin[0], $sizemin[1], $size[0], $size[1]); //resize and resample image

                header("Content-type: image/jpeg");
                imagejpeg($thumbnail);
                imagedestroy($thumbnail);
        }

        //----------------------
        //splitFilenameAndExtensionMirror()
        //----------------------
        function splitFilenameAndExtensionMirror($filename) {
                $str = strrev($filename);
                $bits = explode(".",$str);
                $extension = strrev($bits[0]);
                $name = substr($filename,0,strlen($filename)-strlen($extension)-1);

                $arrBits[0] = $name; $arrBits[1] = $extension;

                return $arrBits;
        }        

}//end class

?>

tem hora que passa mais não aparece a imagem tem hora que não funciona nada não estou conseguindo arrumar se alguém puder ajudar

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      652k
×
×
  • Criar Novo...