Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olã amigos do forum tudo beleza?
Estou tendo um probleminha com um formulario onde terei q enviar uma imagem mas ja no começo o negocio ja esta empacano =/.
esta dano o seguinte erro :
Warning: imagejpeg() [function.imagejpeg]: Unable to open '../midias//cliente=4-324fb9e518589a869b12c9a0238b174f.jpg' for writing: No such file or directory in C:\wamp\www\classifacilparaiso2.2\admin\sistema\upload.php on line 9
nao entendi o pq desse erro se alguem com mais experiencia possa dar uma ajudinha
vlw ajuda
a linha 9 do uploand.php q acusa ero e essa:
imagejpeg($nova, "$pasta/$name");
parte do codigo q pega a imagem no formulario
<form name="cadastraImovelCliente" action="painel.php?exe=imoveis_cliente/cadastro_2" enctype="multipart/form-data" method="post">
<label>
<span>Imagem de exibição do Imovel:</span>
<input type="file" name="img[]" size="60"/>
</label>
<label>
<input type="submit" name="enviar" value="Proximo Passo" />
</form>
codigo q pega o envio do formulario:
<?php
$imovelThumb = $_FILES['img'];
$imovelPasta = '../midias/';
$imgPermitido = array('image/jpg','image/jpeg','image/pjpg');
$contarImg = count($imovelThumb['name']);
require("sistema/upload.php");
for($i=0;$i<$contarImg;$i++){
$imagemNome = $imovelThumb['name'][$i];
$imagemCaminho = $imovelThumb['tmp_name'][$i];
$imagemTipo = $imovelThumb['type'][$i];
if(!empty($imagemNome) && in_array($imagemTipo, $imgPermitido)){
$nome ='cliente='.$clienteId.'-'.md5(uniqid(rand(), true)).'.jpg';
Redimensionar($imagemCaminho, $nome, 500, $imovelPasta);
}
}
?>
codigo do uploand.php q fala q tem um erro
<?php
function Redimensionar($tmp, $name, $largura, $pasta){
$img = imagecreatefromjpeg($tmp);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura*$y) / $x;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return($name);
}
?>cage vlw ajuda ele nao esta criano o arquivo certim nao funciona o up axei estranho ele dar erro nessa parte do comando =/
me parece q descobri qual problema mas nao sei como corrigir =/ o uploand so funciona qnd entro direto na pagina tipo (http://localhost/classifacilparaiso2.2/admin/imoveis-cliente/cadastro.php) qnd entro pelo link q e uma query q esta assim \/ da o erro na hora de fazer o up =/
<a href="painel.php?exe=imoveis-cliente/cadastro">:
entrano pelo link do menu aew o uploand nao funciona da o erro acima q citei aff
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'fotos/cliente=76c74b057a339bcf5bbc2bcc7f54ff06.jpg' for writing: No such file or directory in C:\wamp\www\classifacilparaiso2.2\admin\imoveis-cliente\cadastro.php on line 43
mas entrano direto na pagina ele funciona :
pq sera q esta aconteceno este erro? alguem com mais eperiencia saberia informar?
vlw ajuda
Olá amigo, seu erro é bem simples, você está tentando criar com as funçoes da GD
pela função que você passou, você não está mandando salvar tal foto redimensionada em algum lugar, você apenas
faz as 'alterações' na imagem passada, sacou ?
tente fazer assim:
$imovelThumb = $_FILES['img'];
$imovelPasta = 'midias/';
if( !is_dir( $imovelPasta ) ){
mkdir( $imovelPasta );
}
$imgPermitido = array('image/jpg','image/jpeg','image/pjpg');
$contarImg = count( $imovelThumb['name'] );
for( $i=0; $i < $contarImg; $i++ ){
$imagemNome = $imovelThumb['name'][$i];
$imagemCaminho = $imovelThumb['tmp_name'][$i];
$imagemTipo = $imovelThumb['type'][$i];
if( !empty( $imagemNome ) && in_array( $imagemTipo, $imgPermitido ) ){
$nome ='cliente='.$clienteId.'-'.md5( uniqid(rand(), true ) ).'.jpg';
move_uploaded_file( $imagemCaminho, Redimensionar( $imagemCaminho, $nome, 500, $imovelPasta ) );
}
}
Arrume as configurações do PATH, pois eu testei aqui, apenas ver se era algum problema
diretamente no script, ou se era algo no caminho para salvar a foto, enfim ..
[]'s
amigo Andrey Knupp obrigado pela ajuda vou testar a sua dica esta aconteceno o erro pq o formulario e em 3 partes nessa q e a primeira o action do formulario e a query action="painel.php?exe=imoveis_cliente/cadastro_2" aew and vai para proxima da o erro e nao funciona o up vou tentar a sua dica mais uma vez obrigado pela ajuda.
Okay, se estiver resolvido, poste a solução em completo para que outros possam utilizar caso procure ;)
[]'s Boa Sorte ~
Andrey meu amigo vlw ajuda quase deu certo mas deu um probleminha agora nao esta salvano as imagems.
E tbm tive q chamar por require o arquivo uploand.php q esta la em cima q tem a funçao Redimencionar senao dava o erro:
Fatal error: Call to undefined function Redimensionar() in C:\wamp\www\classifacilparaiso2.2\admin\imoveis-cliente\cadastro.php on line 42
fiz uma modificada e dexei so o codigo do uploand pra ficar mais facil testar me parece q agora esta certo mas agora ele nao salva o arquivo =/
<form name="cadastraImovelCliente" id="cadastraImovelCliente" action="" enctype="multipart/form-data" method="post">
<label>
<span>Imagem de exibição do Imovel: <strong>(Não poderá ser alterado)</strong></span>
<input type="file" name="img[]" size="60"/>
</label>
<input type="submit" name="enviar" value="Proximo Passo" />
</form>
<?php
require ("upload.php");
$imovelThumb = $_FILES['img'];
$imovelPasta = 'midias';
if( !is_dir( $imovelPasta ) ){
mkdir( $imovelPasta );
}
$imgPermitido = array('image/jpg','image/jpeg','image/pjpg');
$contarImg = count( $imovelThumb['name'] );
for( $i=0; $i < $contarImg; $i++ ){
$imagemNome = $imovelThumb['name'][$i];
$imagemCaminho = $imovelThumb['tmp_name'][$i];
$imagemTipo = $imovelThumb['type'][$i];
if( !empty( $imagemNome ) && in_array( $imagemTipo, $imgPermitido ) ){
$nome ='cliente='.md5( uniqid(rand(), true ) ).'.jpg';
move_uploaded_file( $imagemCaminho, Redimensionar( $imagemCaminho, $nome, 500, $imovelPasta ) );
}
}
?>
vlw ajuda
Você modificou as configurações ?
Antigamente, suas imagens estavam em '../midias', retorna algum outro erro ?
você incluiu o 'arquivo', que contem a função 'redimensionar' ?
;)
Andrey Knupp meu amigo brigadao pela ajuda sim adicionei o uploand.php por require esta dano certo sim o uploand show de bola vlw , so q deu um probleminha meio doido hehe ao inves dele salvar as imagems na pasta q designei ele cria uma pasta sozim em uma pasta anterior a q esta os arquivos do php mesmo teno uma pasta com o nome q designei na pasta dos arquivos e ainda ele salva a imagem tbm na pasta anterior com o tamanho original maior doidera =P pra você entender oq esta aconteceno;
tem na pasta adm(adm e uma pasta nela tem a pasta) =>>imoveis-cliente (nessa pasta estao os arquivos do fomrmulario,php etc q cadastrarao a imagem e o conteudo do formulario,e nela fiz a pasta onde salvara as imagens pasta "photos" mudei o nome pra testar)
aew oq acontece o uploand funciona so q ao inves dele salvar as imagems na pasta q esta em imoveis-cliente pasta "photos" ele salva na pasta adm numa pasta "photos" q o uploand cria sozim =P e pra complicar ele salva tbm a imagem no tamanho original na pasta adm. =/
espero q tenha etendido oq esta aconteceno.
essa parte eu nao entendi pq aconteceu isso pq sera?
obrigado pela ajuda
pra você ter uma ideia ficou assim o codigo:
<form name="cadastraImovelCliente" id="cadastraImovelCliente" action="" enctype="multipart/form-data" method="post">
<label>
<span>Imagem de exibição do Imovel: <strong>(Não poderá ser alterado)</strong></span>
<input type="file" name="img[]" size="60"/>
</label>
<input type="submit" name="enviar" value="Proximo Passo" />
</form>
<?php
require("upload.php");
$imovelThumb = $_FILES['img'];
$imovelPasta = 'photos';
if( !is_dir( $imovelPasta ) ){
mkdir( $imovelPasta );
}
$imgPermitido = array('image/jpg','image/jpeg','image/pjpg');
$contarImg = count( $imovelThumb['name'] );
for( $i=0; $i < $contarImg; $i++ ){
$imagemNome = $imovelThumb['name'][$i];
$imagemCaminho = $imovelThumb['tmp_name'][$i];
$imagemTipo = $imovelThumb['type'][$i];
if( !empty( $imagemNome ) && in_array( $imagemTipo, $imgPermitido ) ){
$nome ='cliente='.md5( uniqid(rand(), true ) ).'.jpg';
move_uploaded_file( $imagemCaminho, Redimensionar( $imagemCaminho, $nome, 500, $imovelPasta ) );
}
}
?>
o uploand.php e esse:
<?php
function Redimensionar($tmp, $name, $largura, $pasta){
$img = imagecreatefromjpeg($tmp);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura*$y) / $x;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return($name);
}
?>É por causa do mkdir no script, apenas remova essa condição, e tudo vai correr bem conforme você deseja, creio eu ..
<form name="cadastraImovelCliente" id="cadastraImovelCliente" action="" enctype="multipart/form-data" method="post">
<label>
<span>Imagem de exibição do Imovel: <strong>(Não poderá ser alterado)</strong></span>
<input type="file" name="img[]" size="60"/>
</label>
<input type="submit" name="enviar" value="Proximo Passo" />
</form>
<?php
require ("upload.php");
$imovelThumb = $_FILES['img'];
$imovelPasta = 'midias';
$imgPermitido = array('image/jpg','image/jpeg','image/pjpg');
$contarImg = count( $imovelThumb['name'] );
for( $i=0; $i < $contarImg; $i++ ){
$imagemNome = $imovelThumb['name'][$i];
$imagemCaminho = $imovelThumb['tmp_name'][$i];
$imagemTipo = $imovelThumb['type'][$i];
if( !empty( $imagemNome ) && in_array( $imagemTipo, $imgPermitido ) ){
$nome ='cliente='.md5( uniqid(rand(), true ) ).'.jpg';
move_uploaded_file( $imagemCaminho, Redimensionar( $imagemCaminho, $nome, 500, $imovelPasta ) );
}
}
?>amigo Andrey Knupp obrigado pela ajuda mas se tirar o mkdir volta a dar o erro tudo de novo:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'photos/cliente=3ae9971736478ef46caac0c49d30e219.jpg' for writing: No such file or directory in C:\wamp\www\classifacilparaiso2.2\admin\imoveis-cliente\upload.php on line 9
aff ta muito coplicado esse negocio sera q pode ser feito mais alguma coisa pq nao sei mais oq fazer =/
vlw ajuda
Excelente codigo funciona perfeitamente, só uma pergunta teria como ele reconhercer a imagem?tipo orkut exe:
se a imagem for horizontal fica 500px na horizontal se for vertical fica 500px na vertical ....
cara comentei que funciona mas nao tinha visto ele "duplica" a foto mesmo em outro diretório ....
tenta esse aqui depois configura de acordo com sua escolha atenção a pasta para fotos chama ( images)
index.php
<?php
if(isset($_POST['acao']) && $_POST['acao'] == 'cadastrar'){
$foto = $_FILES['foto'];
if($foto['type'] == 'image/jpeg'){
require("rezise.php");
$name = 'foto='.md5(uniqid(rand(), true)).".jpg";
Redimensionar($foto, $name, 800, "images");
}
}
?>
<!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=iso-8859-1" />
<title>Redimensionar Imagem</title>
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">
<label>Foto<input type="file" name="foto" /></label>
<input type="submit" value="enviar" />
<input type="hidden" name="acao" value="cadastrar" />
</form>
</body>
</html>
rezise.php
<?php
function Redimensionar($imagem, $name, $largura, $pasta){
$img = imagecreatefromjpeg($imagem['tmp_name']);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura * $y)/$x;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return $name;
}
?>
Testa aí!
Alguem tem uma ideia de como tirar minha duvida que postei acima??
vlw
Dexter Morgan passei a usar este mesmo codigo q você sitou fiz em um sistema separado e funcionou beleza mas qnd fui testa na pagina q preciso da o mesmo erro do codigo q postei la em cima:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'imagems/f7e957879bb2f188693baf0671493c88.jpg' for writing: No such file or directory in C:\wamp\www\classifacilparaiso2.2\admin\imoveis-cliente\cadastro.php on line 29
negocio empaca q nao vai de geito nenhum to parado nesse problema a 2 semanas so funciona qnd entra direto na pagina mas qnd usa o sistema do menu q e uma query q puxa a pagina o sistema nao funciona da o erro afff =/
so funciona se eu esntrar direto na pagina tipo assim
localhost/classifacilparaiso2.2/admin/imoveis-cliente/cadastro.php
se eu usar o sistema de query string (em vermelho) para entrar na pagina nao funciona o upload agora nao sei pq disso =P
localhost/classifacilparaiso2.2/admin/painel.php?exe=imoveis-cliente/cadastro
testei em um sistema separado com a query e nao deu certo tbm
vlw ajuda
>
Dexter Morgan passei a usar este mesmo codigo q você sitou fiz em um sistema separado e funcionou beleza mas qnd fui testa na pagina q preciso da o mesmo erro do codigo q postei la em cima:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'imagems/f7e957879bb2f188693baf0671493c88.jpg' for writing: No such file or directory in C:\wamp\www\classifacilparaiso2.2\admin\imoveis-cliente\cadastro.php on line 29
negocio empaca q nao vai de geito nenhum to parado nesse problema a 2 semanas so funciona qnd entra direto na pagina mas qnd usa o sistema do menu q e uma query q puxa a pagina o sistema nao funciona da o erro afff =/
so funciona se eu esntrar direto na pagina tipo assim
localhost/classifacilparaiso2.2/admin/imoveis-cliente/cadastro.php
se eu usar o sistema de query string (em vermelho) para entrar na pagina nao funciona o upload agora nao sei pq disso =P
localhost/classifacilparaiso2.2/admin/painel.php?exe=imoveis-cliente/cadastro
testei em um sistema separado com a query e nao deu certo tbm
vlw ajuda
Vishi ai complica hein,mas percebi uma coisa as vezez nao é mas tenta aí:
esse funfa
localhost/classifacilparaiso2.2/admin/imoveis-cliente/cadastro.php
esse nao
localhost/classifacilparaiso2.2/admin/painel.php?exe=imoveis-cliente/cadastro
tenta colocar a extensão.php ao contrario de index ele pode nao ler só cadastro ....
localhost/classifacilparaiso2.2/admin/painel.php?exe=imoveis-cliente/cadastro.php
to com o mesmo problema.. inclusive o código é quase igual ja que buscamos na mesma fonte..
curso portal imobiliario da upinside..
na hora q subo para o servidor remoto da pau..
interessante é que grava no banco mas da erro ao subir pro servidor.
Não encontrou o arquivo, simples.
Arq : '../midias//cliente=4-324fb9e518589a869b12c9a0238b174f.jpg'
comando que travou...
imagejpeg($nova, "$pasta/$name");
verifique se ele criou o arq certinho...
debug o passo q ele salva a foto..de um echo "$pasta/$name"; exit;
dae veja se esta certo..e assim por diante.