Ir para conteúdo

POWERED BY:

Arquivado

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

calintro

Erro em sistema de upload de imagem

Recommended Posts

Revirei os meus DVDs de backup de clientes e achei algo igual aqui e que na época funcionou (isso uns dois anos atras hehe)

// Prepara a variável do arquivo$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Formulário postado... executa as açõesif ($arquivo) {  	// Verifica se o mime-type do arquivo é de imagem	if (!eregi("^image\/(pjpeg|jpeg)$", $arquivo["type"])) {		$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg.";	} else {		}}
Se tu achar que falta algum {} faz a identação do código e tira a prova
A parte de fazer upload e enviar eu já fiz certinho. Mas eu quero que o sistema tenha duas opções, igual o IPB: Ou imagem remota(de outro servidor) ou upload e gera o link. Quando eu fiz só pra upload e gerar o link deu certinho, mas quando tentei fazer a opção de imagem remota no mesmo arquivo deu erro, parece que tem algum problema nos if, elseif, else, (), {} da vida, mas não consigo identificar qual!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Revirei os meus DVDs de backup de clientes e achei algo igual aqui e que na época funcionou (isso uns dois anos atras hehe)

// Prepara a variável do arquivo$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Formulário postado... executa as açõesif ($arquivo) {  	// Verifica se o mime-type do arquivo é de imagem	if (!eregi("^image\/(pjpeg|jpeg)$", $arquivo["type"])) {		$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg.";	} else {		}}
Se tu achar que falta algum {} faz a identação do código e tira a prova
A parte de fazer upload e enviar eu já fiz certinho. Mas eu quero que o sistema tenha duas opções, igual o IPB: Ou imagem remota(de outro servidor) ou upload e gera o link. Quando eu fiz só pra upload e gerar o link deu certinho, mas quando tentei fazer a opção de imagem remota no mesmo arquivo deu erro, parece que tem algum problema nos if, elseif, else, (), {} da vida, mas não consigo identificar qual!
Não sei se entendi bem a sua colocação mas você quer que possa ser enviado ou um ou outro, e também os dois?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não. Só um ou outro. Caso o usuário preenche os dois, quero que a opção de upload aconteça e a de link com imagem remota não. Eu não sei o que há de errado, a parte das condições do $_FILES acontece pra ele e pra imagem remota, mesmo que não estejam no mesmo if.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não. Só um ou outro. Caso o usuário preenche os dois, quero que a opção de upload aconteça e a de link com imagem remota não. Eu não sei o que há de errado, a parte das condições do $_FILES acontece pra ele e pra imagem remota, mesmo que não estejam no mesmo if.

Implementei seu script aqui e agora deu certo, veja como ficou e tenta adequar o seu cod:sql - tabela fotos
-- -- Banco de Dados: `fota`-- -- ---------------------------------------------------------- -- Estrutura da tabela `fotos`-- CREATE TABLE `fotos` (  `id` tinyint(3) NOT NULL auto_increment,  `link` varchar(100) NOT NULL default '',  PRIMARY KEY  (`id`)) TYPE=MyISAM;
html
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>teste</title><script language="JavaScript" type="text/javascript">function enviando(){	if(document.getElementById('arquivo').value != '')	{		document.getElementById('envio').encoding = 'multipart/form-data';		alert('certo');	}	else	{		document.getElementById('envio').encoding = 'application/x-www-form-urlencoded';	}		document.getElementById('envio').submit();}</script></head><body><form action="up.php" method="post" name="envio" id="envio" >  <label>Arquivo</label><br/><input id="arquivo" name="arquivo" type="file" /><br/>	<label>URL</label><br/><input name="link" type="text" /><br/>	<input name="enviar" type="button" value="Enviar" onclick="enviando();" /></form></body></html>
arquivo phpup.php
<?php$db['host'] = "localhost"; $db['database'] = "fota";$db['username'] = "root";$db['password'] = "";$db['con'] = @mysql_pconnect($db['host'], $db['username'], $db['password']) or trigger_error(mysql_error(),E_USER_ERROR);mysql_select_db($db['database'], $db['con']);//include 'inc/config.php';//include 'inc/conn.php';if(isset($_FILES["arquivo"])){  $arquivo = $_FILES["arquivo"];  $pasta_dir = "image/";  $tipo = explode(".", $arquivo['name']);  if (!file_exists($pasta_dir))  {    mkdir($pasta_dir);  }  if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))  {    echo "Formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png.";  }  else  {   $arquivo_nome = $pasta_dir . md5(date("d/m/Y H:i:s") . $arquivo['name']) . "." .$tipo[1];    move_uploaded_file($arquivo['tmp_name'], $arquivo_nome);    mysql_query("INSERT INTO fotos (`id` , `link`) VALUES ('', '$arquivo_nome')");    mysql_close($db['con']);  }}else{  if (isset($_POST['link']))  {    $link = $_POST['link'];    mysql_query("INSERT INTO fotos VALUES('', '$link')");    mysql_close($db['con']);		echo('Url remota incuída!');  }  else  {      echo('Falha no envio dos dados!');  }}?>

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.