Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Noite!
Tenho este sistema de cadastro de notícia com fotografia no BD, porém ele nao me permite enviar uma notícia sem foto.
Gostaria de ajuda para colocar a opção de enviar com ou sem foto. E na hora da exibição dessa notícia poderia ou nao aparecer nada, ou aparecer uma imagem padrão, um logotipo do site ou algo do genero, derepente ficaria mais fácil de acrescentar ao código.
Bom, O que acham, podem me ajudar? Muito Obrigado!
cadastro.php
<?
require_once("class_upload.php");
$upload = new Upload();
$upload->Envia_Arquivo();
<form action='cadastro.php' method='post' enctype='multipart/form-data' name='form1' id='cadastro'>
<h3 align='center'><strong>Cadastro de Notícias</strong></h3>
<table align='center' border='1'>
<tr>
<td>Título</td>
<td><input name='titulo' type='text' id='titulo' /></td>
</tr>
<tr>
<td>Autor</td>
<td><input name='autor' type='text' id='autor' /></td>
</tr>
<tr>
<td>Materia</td>
<td>
<textarea name='materia' type='textarea' cols='45' rows='10' id='materia' />
</textarea>
<script language='javascript1.2'>
generate_wysiwyg('materia');
</script>
</td>
</tr>
<tr>
<td>Foto</td>
<td><input type='file' name='arquivo' /></td>
</tr>
<tr>
<td> </td>
<td><input type='submit' name='Submit' value='Gravar' style='cursor:pointer'/></td>
</tr>
</table>
</form><?php
set_time_limit(0);
include "funcoes.php";
include "../../conexao.php";
$arquivo = mysql_query("select * from noticias");
class Upload {
var $arquivo = "";
var $erro = array ( "0" => "Notícia Cadastrada com Sucesso!",
"1" => "O arquivo é maior que o permitido pelo Servidor",
"2" => "O arquivo é maior que o permitido pelo formulario",
"3" => "O upload do arquivo foi feito parcialmente",
"4" => "Não foi feito o upload do arquivo");
function Verifica_Upload() {
$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
if(!is_uploaded_file($this->arquivo['tmp_name'])) {
return false;
}
$get = getimagesize($this->arquivo['tmp_name']);
if(($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) {
echo "<span style=\"text-align: center; color: white; border: solid 1px; background: red;\">Essa foto nao é uma imagem valida</span>";
exit;
}
return true;
}
function Envia_Arquivo() {
if($this->Verifica_Upload()) {
$this->gera_fotos();
return true;
} else {
echo "<span style=\"text-align: center; color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>";
}
}
function gera_fotos() {
$diretorio = "fotos/";
$diretorio_g = "fotos/g/";
$diretorio_p = "fotos/p/";
if(!file_exists($diretorio)) {
mkdir($diretorio);
}
if(!file_exists($diretorio_g)) {
mkdir($diretorio_g);
}
if(!file_exists($diretorio_p)) {
mkdir($diretorio_p);
}
$get2 = getimagesize($this->arquivo['tmp_name']); /* Vai servir para verificar se eh GIF ou JPG ou PNG*/
$aux_tipo_imagem = $get2["mime"]; /* Vai servir para verificar se eh GIF ou JPG ou PNG*/
if ($aux_tipo_imagem == "image/jpeg") {
$nome_foto = "imagem_".time().".jpg";
$nome_thumb = "thumb_".time().".jpg";
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem_jpg($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem_jpg($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb);
}
if ($aux_tipo_imagem == "image/gif") {
$nome_foto = "imagem_".time().".gif";
$nome_thumb = "thumb_".time().".gif";
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem_gif($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem_gif($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb);
}
if ($aux_tipo_imagem == "image/png") {
$nome_foto = "imagem_".time().".png";
$nome_thumb = "thumb_".time().".png";
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem_png($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem_png($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb);
}
echo "<span style=\"text-align: center; color: white; border: solid 1px; background: #06c;\">".$this->erro[$this->arquivo['error']]."</span>";
$titulo = $_POST["titulo"];
$autor = $_POST["autor"];
$data = date("d/m/y");
$hora = date("H:i:s");
$materia = $_POST["materia"];
// Isso aqui faz gravar o nome do arquivo no banco de dados, lembrando que você deve fazer a conexao antes... :D
mysql_query("INSERT INTO noticias ( id_noticias , titulo , autor , data , hora , materia , imagem_p , imagem_g )
VALUES ( NULL , '$titulo', '$autor', '$data', '$hora', '$materia', '$nome_thumb', '$nome_foto')");
mysql_close();
}
}
?>Carregando comentários...