Jump to content
Fórum Script Brasil
  • 0

peço ajuda com esse upload


naldo_10

Question

este sistema de upload grava o nome da image no banco mas não ta gravando a extensão

tipo :

a image é ventoinha.png
no banco fica assim:
ventoinha.
http://s1353.photobucket.com/albums/q669/t...zpsdf405fc4.jpg olha o codigo abaixo: essa é a função
/*****************************
IMAGE UPLOAD
*****************************/
   function uploadImage($img, $tmp, $thumb, $nome, $width, $pasta){
       $ext = substr($nome,-3);
       
       switch($ext){
         
           case "jpg" : $img = imagecreatefromjpeg($tmp); break;
           case "jpeg": $img = imagecreatefromjpeg($tmp); break;
           case "png" : $img = imagecreatefrompng($tmp); break;
           case "gif" : $img = imagecreatefromgif($tmp); break;
           
           }
          $x = imagesx($img);
          $y = imagesy($img);
          $height = ($width * $y) / $x;
         $nova   = imagecreatetruecolor($width, $height);
          
          imagealphablending($nova,false);
          imagesavealpha($nova,true);
          imagecopyresampled($nova, $img, 0, 0, 0, 0, $width, $height, $x, $y);
          
          switch ($ext){
           case "jpg" : imagejpeg($nova, $pasta.$nome,100); break;
           case "jpeg": imagejpeg($nova, $pasta.$nome,100); break;
           case "png" : imagepng($nova, $pasta.$nome); break;
           case "gif" : imagegif($nova, $pasta.$nome); break;
          }
          imagedestroy($img);
          imagedestroy($nova);
       }
?>
esse é o codigo parte que faz upload
$pasta = '../uploads/';
          $ano   = date('Y');
          $mes   = date('m');
          if(!file_exists($pasta.$ano)){
               mkdir($pasta.$ano,0755);
              }
          
            if(!file_exists($pasta.$ano.'/'.$mes)){
               mkdir($pasta.$ano.'/'.$mes,0755);
              }
           $img = $_FILES['thumb'];
           $ext = substr($img['name'],-3);
           $f['thumb'] = $ano.'/'.$mes.'/'.$f['url'].'.'.$ext;
           uploadImage($img['tmp_name'], $f['url'].'.'.$ext, '960',$pasta.$ano.'/'.$mes.'/');
        
           create('up_posts',$f);
          
          if($f['status'] == '1'){
     echo '<span class="ms ok">artigo cadastrado, voce pode visualizar!</span>';
     echo '<a href="'.BASE.'/artigo/'.$f['url'].'" target=" _blank" title=ver artigo">aqui</a></span>';       
          }else{
         echo '<span class="ms in">artigo registrado com suscesso .para ativar é preciso ir em editar artigos e clicar ativar!</span>';
         
          }
        }
  }
?>

Edited by naldo_10
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
Mostre a parte em que é feita a query que grava os dados no banco.

olha o codigo inteiro abaixo :

<?php
if (!function_exists('getUser')):
    header('Location: ../index2.php');
endif;
?>
<?php if (getUser($_SESSION['autUser']['id'], '1') ): ?>
<div class="bloco form" style="display:block">
<div class="titulo">criar posts:
<a href="index2.php?exe=posts/posts" title="criar nova categoria" class="btn" style="float:right;">listar artigos</a>
</div>
   <?php 
     
  if(isset($_POST['sendForm'])){
      $f['titulo']   = htmlspecialchars(mysql_real_escape_string($_POST['titulo']));
      $f['tags']     = htmlspecialchars(mysql_real_escape_string($_POST['tags']));
      $f['content']  = mysql_real_escape_string($_POST['content']);
      $f['date'] = htmlspecialchars(mysql_real_escape_string($_POST['data']));
      $f['categoria']  = htmlspecialchars(mysql_real_escape_string($_POST['categoria']));
       $f['cat_pai']  = getCat($f['categoria'], 'id_pai');
      $f['nivel'] = htmlspecialchars(mysql_real_escape_string($_POST['nivel']));
      $f['status']  =($_POST['sendForm'] == 'salvar' ? '0': '1');
      $f['autor']   =  $_SESSION['autUser']['id'];
      $f['tipo']  = 'post';

 if(in_array('',$f)){
     
     echo '<span class="ms in">para uma boa alimentação requer todos campos!</span>';
 }else{
     $f['data'] = formDate($f['date']);  unset($f['date']);
      $f['url'] = setUri($f['titulo']); 
      $readPostUri = read('up_posts',"WHERE url LIKE '%$f[url]%'"); 
      if($readPostUri){
          $f['url'] =  $f['url'].'-'.count($readPostUri);
          $readPostUri = read('up_posts',"WHERE url = '$f[url]'"); 
          if($readPostUri){
             $f['url'] = $f['url'].'_'.time();
            }
          }
          
          $pasta = '../uploads/';
          $ano   = date('Y');
          $mes   = date('m');
          if(!file_exists($pasta.$ano)){
               mkdir($pasta.$ano,0755);
              }
          
          if(!file_exists($pasta.$ano.'/'.$mes)){
               mkdir($pasta.$ano.'/'.$mes,0755);
              }
           $img = $_FILES['thumb'];
           $ext = strtolower(end(explode('.', $img['name'])));
           $f['thumb'] = $ano.'/'.$mes.'/'.$f['url'].'.'.$ext;
           uploadImage($img['tmp_name'], $f['url'].'.'.$ext, '960', $pasta.$ano.'/'.$mes.'/');
        
           create('up_posts',$f);
          
          if($f['status'] == '1'){
     echo '<span class="ms ok">artigo cadastrado, voce pode visualizar!</span>';
     echo '<a href="'.BASE.'/artigo/'.$f['url'].'" target=" _blank" title=ver artigo">aqui</a></span>';       
          }else{
         echo '<span class="ms in">artigo registrado com suscesso .para ativar é preciso ir em editar artigos e clicar ativar!</span>';
         
          }
        }
  }
?>
              
<form name="formulario" action="" method="post">

<label class="line">
<span class="data">foto:</span>
<input type="file" name="thumb" class="fileinput" size="60" style="cursor:pointer; background:#fff" />
</label>

<label class="line">
<span class="data">titulo:</span>
<input type="text" name="titulo" value="<?php echo isset( $f['titulo'] ) ? $f['titulo'] : ""; ?>" />
</label>

<label class="line">
<span class="data">Tags:</span>
<input type="text" name="tags" value="<?php echo isset( $f['tags'] ) ? $f['tags'] : ""; ?>" />
</label>

<label class="line">
<span class="data">conteudo</span>
<textarea name="content" class="editor" rows"6"><?php echo isset( $f['content'] ) ? $f['content'] : ""; ?></textarea>
</label>

<label class="line">
<span class="data">data</span>
<input type="text" name="data" class="formDate" value="<?php echo isset( $f['data'] ) ? $f['data'] : ""; ?><?php date("d-m-Y H:i:s")?>" />
</label>



<label class="line">
<select name="categoria">
<option value="">selecione uma categoria &nbsp; &nbsp;</option>
 <?php
  $readCategoriaPai = read('up_cat',"WHERE id_pai IS NULL");
       if(!$readCategoriaPai){
           echo '<option value="">não encontramos </option>';  
}else{
 foreach($readCategoriaPai as $pai):
 echo '<option value="" disabled="disabled">'.$pai['nome'].'</option>'; 
    $readCategorias = read('up_cat',"WHERE id_pai = '$pai[id]'");
    
      if(!$readCategorias){
          echo '<option value="" disabled="disabled">&raquo;&raquo; cadastre uma subcategoria</option>'; 
}else{
    foreach($readCategorias as $cat):
      echo '<option value="'.$cat['id'].'" ';
      if($cat['id'] == isset($f['categoria'])){
          echo 'selected="selected"';
      }
      echo'>&raquo;&raquo; '.$cat['nome'].'</option>';  
      endforeach;
     }
  endforeach;
   }
?>

</select>
</label>


<div class="check">
<span class="data">permissão do artigo:</span>
<ul>
<li><label><input type="radio" value="0" name="nivel"
<?php if(isset($f['nivel']) || $f['nivel'] == '0') echo 'checked="checked"';?>/> Valor</label>
</li>
<li><label><input type="radio" value="4" name="nivel" 
<?php if(isset($f['nivel']) && $f['nivel'] == '4') echo 'checked="checked"';?>/> Leitor</label></li>

<li class="last"><label><input type="radio" value="3" name="nivel"
<?php if(isset($f['nivel']) && $f['nivel'] == '3') echo 'checked="checked"';?> /> Premium</label></li>
</ul>

</div>

<input type="submit" value="salvar" name="sendForm" class="btn" />
<input type="submit" value="salvar e publicar" name="sendForm" class="btn" />
</form>                 

        </div><!-- /bloco form -->
</div><!-- /bloco list -->
                
 <?php 
/**
 * Ele não tem permissão 
 */
else:
        echo '<span class="ms al">Desculpe,voce não tem permissão para gerenciar paginas!</span>';
endif;
?>   
       
</body>
</html>

Link to comment
Share on other sites

  • 0
Vê se existe algum substr, substr_replace ou str_replace, qualquer função que possa está retirando o jpg. Faz um teste também, insere uma imagem png ou gif pra vê qual é o comportamento.

só na função

IMAGE UPLOAD

*****************************/

function uploadImage($tmp, $nome, $width, $pasta){

$ext = substr($nome,-3);

switch($ext){

case "jpg" : $img = imagecreatefromjpeg($tmp); break;

case "jpeg": $img = imagecreatefromjpeg($tmp); break;

case "png" : $img = imagecreatefrompng($tmp); break;

case "gif" : $img = imagecreatefromgif($tmp); break;

}

$x = imagesx($img);

$y = imagesy($img);

$height = ($width * $y) / $x;

$nova = imagecreatetruecolor($width, $height);

imagealphablending($nova,false);

imagesavealpha($nova,true);

imagecopyresampled($nova, $img, 0, 0, 0, 0, $width, $height, $x, $y);

switch ($ext){

case "jpg" : imagejpeg($nova, $pasta.$nome, 100); break;

case "jpeg": imagejpeg($nova, $pasta.$nome, 100); break;

case "png" : imagepng($nova, $pasta.$nome); break;

case "gif" : imagegif($nova, $pasta.$nome); break;

}

imagedestroy($img);

imagedestroy($nova);

}

?>

Link to comment
Share on other sites

  • 0
Vê se existe algum substr, substr_replace ou str_replace, qualquer função que possa está retirando o jpg. Faz um teste também, insere uma imagem png ou gif pra vê qual é o comportamento.

só na função

IMAGE UPLOAD

*****************************/

function uploadImage($tmp, $nome, $width, $pasta){

$ext = substr($nome,-3);

switch($ext){

case "jpg" : $img = imagecreatefromjpeg($tmp); break;

case "jpeg": $img = imagecreatefromjpeg($tmp); break;

case "png" : $img = imagecreatefrompng($tmp); break;

case "gif" : $img = imagecreatefromgif($tmp); break;

}

$x = imagesx($img);

$y = imagesy($img);

$height = ($width * $y) / $x;

$nova = imagecreatetruecolor($width, $height);

imagealphablending($nova,false);

imagesavealpha($nova,true);

imagecopyresampled($nova, $img, 0, 0, 0, 0, $width, $height, $x, $y);

switch ($ext){

case "jpg" : imagejpeg($nova, $pasta.$nome, 100); break;

case "jpeg": imagejpeg($nova, $pasta.$nome, 100); break;

case "png" : imagepng($nova, $pasta.$nome); break;

case "gif" : imagegif($nova, $pasta.$nome); break;

}

imagedestroy($img);

imagedestroy($nova);

}

?>

olha o erro:

tava assim

<form name="formulario" action="" method="post">
sendo que certo nesse form que faz upload é assim:
<form name="formulario" action="" method="post" enctype="multipart/form-data">

muito obrigado por ajudar amigo

Edited by naldo_10
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...