Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal to com um erro neste codigo:
UPLOAD.PHP
<?php
require("seguranca/conecta.php");
$id = $_POST["id"];
$figura = $_FILES["logotipo"];
$nome_img = $_POST["logotipo"];
if (isset($figura["name"]) && (strlen($figura["name"])>2))
{
//Verificar tipo de imagem. Somente JPG é aceito por causa do arquivo de geração de thumbnails (thumb.php)
if (($figura["type"] != "image/jpeg") && ($figura["type"] != "image/png"))
{
echo "<script> alert(\"Imagem: Formato de imagem invalido. Por favor, envie uma imagem tipo JPEG (.JPG)\"); history.go(-1); </script>";
exit ();
}
//Verificar se já há uma figura cadastrada
if (strlen($nome_img) > 3) $nova_img = $nome_img;
else
{
$img_nome = $figura["name"];
$img_arquivo = pathinfo($img_nome);
$img_extensao = $img_arquivo["extension"];
$nova_img = md5(date("YmdHis"));
$nova_img = $nova_img.".".$img_extensao;
//gravar o banco o nome da nova imagem
$query = ("UPDATE zbr_logotipos SET logotipo = '$nova_img'");
}
$caminho = "imagem/".$nova_img;
move_uploaded_file($figura["tmp_name"], $caminho);
}
$query .= (" WHERE id = '$id'");
mysql_query($query) or die(mysql_error());
?>
ele fala os seguintes erros:
Notice: Undefined index: logotipo in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 7
Warning: move_uploaded_file(imagem/834a68d630e0da6f3fa7714b24117cd6.PNG) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 35
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Arquivos de programas\EasyPHP-5.3.6.1\tmp\php1304.tmp' to 'imagem/834a68d630e0da6f3fa7714b24117cd6.PNG' in C:\Arquivos de programas\EasyPHP-5.3.6.1\www\zanitabr\sistema\update.php on line 35
alguem tem ideia do que sejá?
ele não ta enviando a foto pro direitorio só tá registrando no banco de dados =/
tipo eu crei o arquivo de envio que é esse:
<?php
require "seguranca/conecta.php";
$up = mysql_query ("SELECT * FROM zbr_logotipos WHERE id = '1' LIMIT 1 ");
$func = mysql_fetch_assoc ($up);
$id = $func["id"];
$logotipo = $func["logotipo"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FAZER UPLOAD DE ARQUIVOS</title>
</head>
<body>
<img src="<?php echo"$logotipo" ?>" alt="" />
<form action="update.php" method="POST" enctype="multipart/form-data">
<p><b>Imagem:</b>
<input type="file" name="logotipo" /><p>
<b>COloque 1 para alterar o logotipo do site e 2 para logotipo do player</b><p>
<input type="text" name="id" />
<input type="submit" value="Enviar" style="font-weight:bold" />
</form>
</body>
</html>
e depois fiz o arquivo q envia o dado para o mysql e manda para o dir
<?php
require("seguranca/conecta.php");
$id = $_POST["id"];
$figura = $_FILES["logotipo"];
$nome_img = $_POST["logotipo"];
if (isset($figura["name"]) && (strlen($figura["name"])>2))
{
//Verificar tipo de imagem. Somente JPG é aceito por causa do arquivo de geração de thumbnails (thumb.php)
if (($figura["type"] != "image/jpeg") && ($figura["type"] != "image/png"))
{
echo "<script> alert(\"Imagem: Formato de imagem invalido. Por favor, envie uma imagem tipo JPEG (.JPG)\"); history.go(-1); </script>";
exit ();
}
//Verificar se já há uma figura cadastrada
if (strlen($nome_img) > 3) $nova_img = $nome_img;
else
{
$img_nome = $figura["name"];
$img_arquivo = pathinfo($img_nome);
$img_extensao = $img_arquivo["extension"];
$nova_img = md5(date("YmdHis"));
$nova_img = $nova_img.".".$img_extensao;
//gravar o banco o nome da nova imagem
$query = ("UPDATE zbr_logotipos SET logotipo = '$nova_img'");
}
$caminho = "imagem/".$nova_img;
move_uploaded_file($figura["tmp_name"], $caminho);
}
$query .= (" WHERE id = '$id'");
mysql_query($query) or die(mysql_error());
?>
como faço pra deixar filé isto?
você acessa o nome do arquivo usando $_file['logotipo']['name'] ao invés de $_post['logotipo'].
Não será esse o erro?
>
você acessa o nome do arquivo usando $_file['logotipo']['name'] ao invés de $_post['logotipo'].
Não será esse o erro?
acho q não porque na linha 9 ele já chama o name da imagem
mais assim o move da imagem nao ta mandando pra pasta.
tens ideia do erro decorrente?
Refatore seu código com base em $_FILES, **não vejo a necessidade de utilizar $_POST["logotipo"]**
$figura = isset( $_FILES["logotipo"] ) ? $_FILES["logotipo"] : false;VLW A TODOS PELA AJUDA !
TOPICO CLOSE
:joia: :joia: :joia: :joia: :joia: :joia: :joia: :joia:
1º - $_POST["logotipo"]; não existe. Talvez o nome do campo não seja esse.
2º - $caminho deveria ser apenas "imagem/".
Este é um exemplo de upload que encontrei no manual do PHP.
<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
} else {