Tenho aqui um sistema de cadastro de softwares no qual juntamente com os seus dados, adiciono um arquivo .jpg para ser visualizado na hora de consulta.
Fiz a parte de cadastro e a gravação do mesmo está funcionando perfeitamente, ele está transferindo o arquivo para o servidor conforme esperado.
Mas na parte de alteração, quando tento enviar um novo arquivo ao servidor, ele não está enchergando o arquivo por nada! Vou explicar melhor dano um exemplo.
Crio um novo software, adiciono as informações correspondentes e adiciono a foto. Efetuo o cadastro com sucesso, inlcusive a foto foi enviado ao servidor conforme esperado. Maravilha.
Agora, quando eu edito as informações do software que eu acabei de cadastrar, consigo alterar todas as informações normalmente, só que se tento adicionar uma nova foto, a mesma não é transferida para o servidor. Vou colocar aqui o codigo e mostrar o que já descobri.
Código onde modifico os campos e seleciono a nova foto.
Código que mostra os valores que estão gravados no banco de dados para modificação (sel_sw.php)
Arquivo que faz a gravção dos dados nobanco de dados(grava_softwre.php)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
background-color: #226CB2;
background-image: url();
}
body,td,th {
font-size: small;
}
-->
</style></head>
<body leftmargin="1" marginwidth="200">
<table width="800" height="324" border="1" align="center">
<tr>
<td height="137" bgcolor="#FFFFFF">
<?php
$model = $_POST["modelo"];
$software = $_POST["software"];
$serial = $_POST["serial"];
$versao = $_POST["versao"];
$sistema = $_POST["tipo"];
$cm = $_POST["cm"];
$id = $_POST["id"];
$arquivo = isset($_FILES["tela"]) ? $_FILES["tela"] : FALSE;
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = $serial . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "g:/vitek/informatica/apache2.2/htdocs/sgv/telas/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
}
require_once("conecta.php");
$sql2 = "UPDATE hardware SET tela ='$imagem_nome', WHERE id = $id";
$mysql2=mysql_query($sql2) or die (mysql_error());
}
require_once("conecta.php");
$sql = "UPDATE software SET nome = '$software',serial = '$serial',modelo = '$model',versao = '$versao', tipo = '$sistema',cm = '$cm' WHERE id = $id";
$mysql=mysql_query($sql) or die (mysql_error());
if ($mysql) echo '<br>Dados alterados com sucesso'; else echo '<br><br>Erro no cadastro';
mysql_close();
?>
</td>
</tr>
</table>
</body>
</html>
O que descobri foi o seguinte.
no sel_sw.php, tenho este campo
Tela da licença:<input type="file" name="tela">
que é onde busco a nova tela para ser enviado ao servidor. E no grava_software.php tenho o campo
onde deveria estar recebendo a foto para entrar na condição if($arquivo) e executar a ação de envio ao servidor, só que ele não está entrando deste if, por tanto ele não está recebendo a foto conforme esperado. Estou usando exatamente este mesmo procedimento para a gravação de um novo software e funciona rendondinho! :huh:
Será que alguém poderia me dar a luz no fim do tunel?
Pergunta
cmdmss
Prezados colegas, bom dia.
Tenho aqui um sistema de cadastro de softwares no qual juntamente com os seus dados, adiciono um arquivo .jpg para ser visualizado na hora de consulta.
Fiz a parte de cadastro e a gravação do mesmo está funcionando perfeitamente, ele está transferindo o arquivo para o servidor conforme esperado.
Mas na parte de alteração, quando tento enviar um novo arquivo ao servidor, ele não está enchergando o arquivo por nada! Vou explicar melhor dano um exemplo.
Crio um novo software, adiciono as informações correspondentes e adiciono a foto. Efetuo o cadastro com sucesso, inlcusive a foto foi enviado ao servidor conforme esperado. Maravilha.
Agora, quando eu edito as informações do software que eu acabei de cadastrar, consigo alterar todas as informações normalmente, só que se tento adicionar uma nova foto, a mesma não é transferida para o servidor. Vou colocar aqui o codigo e mostrar o que já descobri.
Código onde modifico os campos e seleciono a nova foto.
Código que mostra os valores que estão gravados no banco de dados para modificação (sel_sw.php)
Arquivo que faz a gravção dos dados nobanco de dados(grava_softwre.php) O que descobri foi o seguinte. no sel_sw.php, tenho este campo que é onde busco a nova tela para ser enviado ao servidor. E no grava_software.php tenho o campoonde deveria estar recebendo a foto para entrar na condição if($arquivo) e executar a ação de envio ao servidor, só que ele não está entrando deste if, por tanto ele não está recebendo a foto conforme esperado. Estou usando exatamente este mesmo procedimento para a gravação de um novo software e funciona rendondinho! :huh:
Será que alguém poderia me dar a luz no fim do tunel?
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.