function.fopen PHP Version 5.3.1
Tenho uma página cad_produtos, na referida página faço uso da função fopen para enviar a foto para o host local e associa a foto ao produto, o problema é que o script não está fazendo o que deveria estar fazendo ele da os seguintes erros:
Warning: fopen() [function.fopen]: Filename cannot be empty in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 24
Warning: fread() expects parameter 1 to be resource, boolean given in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 25
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 27
já li o manual, varios artigos na internet e ainda não consegui concertar o problema, depois de varias xícaras de café, resolvi postar aqui meu script quem sabe tem alguém aqui que tenha uma solução.
Penso que ta bom pra não ficar muito grande o código aqui, mais a pedido posto todo o código da página, mais penso que não há necessidade. obrigado
Warning: fopen() [function.fopen]: Filename cannot be empty in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 24
Warning: fread() expects parameter 1 to be resource, boolean given in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 25
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xamppteste\xampp\htdocs\si\web\admin\cad_produtos.php on line 27
já li o manual, varios artigos na internet e ainda não consegui concertar o problema, depois de varias xícaras de café, resolvi postar aqui meu script quem sabe tem alguém aqui que tenha uma solução.
$foto = $_FILES[foto][tmp_name]; $tamanho = $_FILES[foto][size]; $tipo = $_FILES[foto][type]; $nome = $_FILES[foto][name]; if ($foto != none) { $fp = fopen($foto, r); $conteudo = fread($fp, $tamanho); $conteudoFoto = addslashes($conteudo); fclose($fp); } else { $foto = null; } switch ($_REQUEST[action]) { case save: if ($_POST[editing] == 0) { $sql = INSERT INTO produtos (marcas_id, categorias_id, descricao, preco, foto) . VALUES ($marcas_id, $categorias_id, $descricao,$preco, $conteudoFoto); } else { $sql = UPDATE produtos SET . marcas_id = $marcas_id . ,categorias_id = $categorias_id . ,descricao = $descricao . ,preco = $preco . ,foto = $foto . WHERE produtos_id = $produtos_id; } }
Penso que ta bom pra não ficar muito grande o código aqui, mais a pedido posto todo o código da página, mais penso que não há necessidade. obrigado
Thug Life
Curtidas 0
Respostas
Rodrigo Marques
17/06/2012
Cara,
boa tarde... Verifica se o nome da foto contem a extensao, veja se ele esta certinho em relação ao caminho e a existencia do arquivo...
Outra coisa.. o parametro da fopen(CAMINHO DO ARQUIVO, r)....
e pelo seu erro o nome do arquivo que voce esta enviando, esta vazio...
Verifica do formulario que essa foto esta indo e confirma se no form voce adicionou:
<form enctype=application/form-data>
pois é isso que permite o envio de fotos...
Att.,
Rodrigo Marques - www.cotiinformatica.com.br
boa tarde... Verifica se o nome da foto contem a extensao, veja se ele esta certinho em relação ao caminho e a existencia do arquivo...
Outra coisa.. o parametro da fopen(CAMINHO DO ARQUIVO, r)....
e pelo seu erro o nome do arquivo que voce esta enviando, esta vazio...
Verifica do formulario que essa foto esta indo e confirma se no form voce adicionou:
<form enctype=application/form-data>
pois é isso que permite o envio de fotos...
Att.,
Rodrigo Marques - www.cotiinformatica.com.br
GOSTEI 0
Thug Life
17/06/2012
Obrigado Rodrigo, explicando melhor a página, ela carrega 1 campo do tipo select com as categorias dos produtos e outro com as marcas, depois de selecionar a categoria e a marca desejada é só clicar no botão pra fazer o upload,o problema é que ao entrar na página cad_produtos.php ela já carrega com erro, antes de clicar no botão pra selecionar a foto.
formulário está ok.
Eu vi a página funcionar na casa do meu amigo, agora estou começando a pensar que seja por causa da versão do php, um vez que já faz um tempo que a página foi programada, vou entrar em contato com ele e perguntar qual a versão do php ele usava na época. se eu resolver o problema posto aqui como f
<form id=artigos name=artigos action=<?= $_SERVER[PHP_SELF] ?> method=post enctype=multipart/form-data> \\e no final do script <input type=submit id=btGravar name=btGravar class=bta value=Gravar onclick=$(action).value=save />
formulário está ok.
if ($foto != none) { $fp = fopen($foto, r);\\aponta erro aqui. $conteudo = fread($fp, $tamanho);\\aponta erro aqui. $conteudoFoto = addslashes($conteudo); fclose($fp);\\aponta erro aqui. } else { $foto = null; }
Eu vi a página funcionar na casa do meu amigo, agora estou começando a pensar que seja por causa da versão do php, um vez que já faz um tempo que a página foi programada, vou entrar em contato com ele e perguntar qual a versão do php ele usava na época. se eu resolver o problema posto aqui como f
GOSTEI 0
Thug Life
17/06/2012
OK, já entrei em contato com ele, a página não tem erro algum o que estava errado era minha configuração no php.ini, até este momento eu usava o xammp não consegui localizar o arquivo para alterar removi o xammp do computador e vou instalar mysql apache e php da maneira certa, eu já tive problemas com o easyphp ao instalar o xammp pensei que seria diferente pura ilusão.
short tags= OFF
short tags= ON
GOSTEI 0