iFull 0 Denunciar post Postado Setembro 15, 2009 Galera alguem consegue adicionar esse Unlink no meu script? ele deleta o registro mas não a imagem... vou postar o codigo aqui se alguem puder me ajudar eu agradeço (L) ;) antes de tudo Obrigado pela atenção (y) <? session_start(); if($_SESSION['log_in']!="ok") {header("Location:../");break;} else{ include_once("redimagens.php"); // Prepara a vari�vel caso o formul�rio tenha sido postado $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; $config = array(); // Tamano m�ximo da imagem, em bytes $config["tamanho"] = 9999999; // Largura M�xima, em pixels $config["largura"] = 1024; // Altura M�xima, em pixels $config["altura"] = 768; // Diret�rio onde a imagem ser� salva $config["diretorio"] = "../../metals/collections/pics/"; // Gera um nome para a imagem e verifica se j� n�o existe, caso exista, gera outro nome e assim sucessivamente.. // Função Recursiva function nome($extensao) { global $config; // Gera um nome �nico para a imagem //$temp = substr(md5(uniqid(time())), 0, 10); //$imagem_nome = $temp . "." . $extensao; $imagem_nome=$_FILES['foto']['name']; // Verifica se o arquivo j� existe, caso positivo, chama essa função novamente if(file_exists($config["diretorio"] . $imagem_nome)) { $imagem_nome = nome($extensao); } return $imagem_nome; } if($arquivo) { $erro = array(); // Verifica o mime-type do arquivo para ver se � de imagem. // Caso fosse verificar a extens�o do nome de arquivo, o c�digo deveria ser: // // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) { // $erro[] = "Arquivo em formato inv�lido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } // // Mas, o que ocorre � que alguns usu�rios mal-intencionados, podem pegar um v�rus .exe e simplesmente mudar a extens�o // para alguma das imagens e enviar. Ent�o, n�o adiantaria em nada verificar a extens�o do nome do arquivo. 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"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no m�ximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimens�es da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem n�o deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem n�o deve ultrapassar " . $config["altura"] . " pixels"; } } if(!sizeof($erro)) { // Pega extens�o do arquivo, o indice 1 do array conter� a extens�o preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera nome �nico para a imagem $imagem_nome = nome($ext[1]); // Caminho de onde a imagem ficar� $imagem_dir = $config["diretorio"] . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); $OBImagem = new OBImagem(); $remake_img = explode(".",$imagem_nome); $newname = $remake_img[0]."gd.".$remake_img[1]; $newname2 = $remake_img[0]."pq.".$remake_img[1]; $newname3 = $remake_img[0]."md.".$remake_img[1]; $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname",450,450,100); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname2",114,114,72); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname3",121,240,72); $link_imggd ="$newname"; $link_imgpq ="$newname2"; $link_imgmd ="$newname3"; } } include_once("../../library/connects.php"); include_once("../../library/functions.php"); if($_REQUEST['enviar']) { $valor = str_replace(",",".",$_REQUEST['valor']); $SQL_usuarios = "INSERT INTO rcwk_metals (idrcwk_grupos,idrcwk_subgrupos,codigo,descricao,valor,img_md,img_pq,img_gd,tipo) VALUES ('$_REQUEST[grupo]','$_REQUEST[subgrupo]','$_REQUEST[codigo]','$_REQUEST[descricao]','$valor','$link_imgpq','$link_imgmd','$link_imggd',3)"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Cadastro Realizado com sucesso !');</script><?} } if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><?} } if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) { if($_REQUEST['ativa']==0){$v_inativa = 0; $var_inativa="Inativada";} if($_REQUEST['ativa']==1){$v_inativa = 1; $var_inativa="Ativada";} $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><?} } ?> <script> function excluir(parametro) { obj = document.cadeqq; obj.exclui.value = parametro; obj.submit(); } function ativar(parametro,id) { obj = document.cadeqq; obj.ativa.value = parametro; obj.exclui.value = id; obj.submit(); } function carrega_subgrupo(parametro) { obj = document.cadeqq; obj.idgrupo.value = parametro; obj.submit(); } </script> <link rel="stylesheet" type="text/css" href="../../css/styless.css"> <form name="cadeqq" action="" method="POST" enctype="multipart/form-data"> <p> <input type="hidden" name="exclui"> <input type="hidden" name="ativa"><input type="hidden" name="idgrupo"> <span class="label_wall">Adicionar Nova Foto</span></p> <p> </p> <table width="100%" height="225" border="0" cellpadding="3" cellspacing="3" rules="groups"> <tr><td width="8%" height="29" align="left" bgcolor="#A6A48C" class=label_ad2><font face="Arial" size="2">Grupo</td> <td height="40" bgcolor="#A6A48C"><select name="grupo" onchange="carrega_subgrupo(this.value)"> <option value="0">Selecione...</option> <? $SQL_grupos = "SELECT * FROM rcwk_grupos"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { if((isset($_REQUEST[grupo]))and($_REQUEST[grupo]==$reg_grupo[idrcwk_grupos])) {echo "<option value=$reg_grupo[0] selected>$reg_grupo[1]</option>";} else {echo "<option value=$reg_grupo[0]>$reg_grupo[1]</option>";} } ?></select></td></tr> <tr><td height="28" align="left" bgcolor="#AFAE9A" class=label_ad2><font face="Arial" size="2">Subgrupo</td> <td height="40" bgcolor="#AFAE9A"><select name="subgrupo"> <option value="0">Selecione...</option> <? $SQL_grupos = "SELECT * FROM rcwk_subgrupos WHERE idrcwk_grupos=$_REQUEST[idgrupo]"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { echo "<option value=$reg_grupo[0]>$reg_grupo[2]</option>"; } ?></select></td></tr> <tr><td height="28" align="left" bgcolor="#B7B6A4" class=label_ad2><font face="Arial" size="2">C�digo</td><td height="40" bgcolor="#B7B6A4"><input type="text" name="codigo" class="text_box"></td></tr> <tr><td height="28" align="left" bgcolor="#BDBCAC" class=label_ad2><font face="Arial" size="2">Descrição</td><td height="40" bgcolor="#BDBCAC"><input type="text" name="descricao" class="text_box" maxlength="30"></td></tr> <tr><td height="28" align="left" bgcolor="#C7C6B8" class=label_ad2><font face="Arial" size="2">Valor</td><td height="40" bgcolor="#C7C6B8"><input type="text" name="valor" class="text_box"></td></tr> <tr><td height="30" align="left" bgcolor="#CCCBBF" class=label_ad2><font face="Arial" size="2">Imagem</td><td height="40" bgcolor="#CCCBBF"><input type="file" name="foto" class="text_box" value="Foto..."></td></tr> <tr><td height="30" bgcolor="#D7D6CC"></td><td height="40" colspan="2" align="left" bgcolor="#D7D6CC"><input type="submit" name="enviar" value="Cadastrar"></td></tr> </table><br></form> <div class="grid_ad"> <table width="100%"> <tr><td width="150" bgcolor="#D7D6CC" class=label_wall>Grupo</td><td class=label_wall>Subgrupo</td><td class=label_wall>C�digo</td><td class=label_wall>Descrição</td><td class=label_wall>Valor</td><td class=label_wall>Imagem</td><td class=label_wall>Ativar/Inativar</td><td class=label_wall>Excluir</td><tr> <? $sql_eqqs = "SELECT rcwk_metals.*, rcwk_subgrupos.descricao as subgrup_desc, rcwk_grupos.descricao as grup_desc FROM rcwk_metals LEFT OUTER JOIN rcwk_subgrupos ON rcwk_metals.idrcwk_subgrupos = rcwk_subgrupos.idrcwk_subgrupos LEFT OUTER JOIN rcwk_grupos ON rcwk_metals.idrcwk_grupos = rcwk_grupos.idrcwk_grupos ORDER BY rcwk_metals.idrcwk_metals DESC"; $exec_sql = mysql_query($sql_eqqs); while($regs_eqqs = mysql_fetch_array($exec_sql)) { $ativo_inativo = $regs_eqqs[9]; if($ativo_inativo==1) { $status_ativo="Inativar"; $idativar = 0; } if($ativo_inativo==0) { $status_ativo="Ativar"; $idativar = 1; } echo "<tr><td class=text_wall>$regs_eqqs[grup_desc]</td><td class=text_wall>$regs_eqqs[subgrup_desc]</td><td class=text_wall>$regs_eqqs[3]</td><td class=text_wall>$regs_eqqs[4]</td><td class=text_wall>$regs_eqqs[5]</td><td class=text_wall><a href=javascript:; onclick=window.open('../../metals/collections/pics/$regs_eqqs[7]','nwin','height=350,width=350,scrollbars=no,location=no')>Visualizar</a></td><td class=text_wall><a href=javascript:; onclick=ativar($idativar,$regs_eqqs[0])>$status_ativo</a></td><td class=text_wall><a href=javascript:; onclick=excluir($regs_eqqs[0])>Excluir</a></td></tr>"; } ?> <? } ?> não to conseguindo deletar testei umas vezes e nada ;S vlws pela ajuda... Compartilhar este post Link para o post Compartilhar em outros sites
SetaMB 1 Denunciar post Postado Setembro 15, 2009 Se você amarrar o nome da imagem com alguma informação do cliente (como ID ou CNPJ), na linha que você executa o comando DELETE, você colocar unlink($nomedaimagem); É isso? SetaMB Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 16, 2009 function ExcluirArquivo() { $diretorio = strtolower($this->diretorio); //Diretório onde consta o arquivo $arquivo = $this->arquivo; //Arquivo a ser deletado if(file_exists($diretorio.$arquivo)) { unlink($diretorio.$arquivo); } } seria isso? ;S + nao to conseguindo ;S Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 16, 2009 Olha... neste ponto... if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><?} } Antes de excluir, você tem que pegar o nome da imagem e o caminho. Aí, com este nome e o caminho, você faz o unlink e depois excluir no banco de dados. http://br.php.net/unlink Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 17, 2009 Olha... neste ponto... if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><?} } Antes de excluir, você tem que pegar o nome da imagem e o caminho. Aí, com este nome e o caminho, você faz o unlink e depois excluir no banco de dados. http://br.php.net/unlink Carlos Eduardo o meu problema é que o arquivo a ser deletado esta em uma lista ;x ou seja ... tenho que fazer uma variavel? não to entendendo ;/ ajuda ae ;S ja tentei fazer mas não do jeito certo.. mas não sei qual é o jeito certo ;S ;~ Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 17, 2009 o meu problema é que o arquivo a ser deletado esta em uma lista ;x Que lista? Como assim? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 17, 2009 lista não...esquece.... olha como eu to fazendo sei que ta errado ;S mas to tentando.. :S } function excluirArquivo($config) { if (unlink($config["diretorio"] . $imagem_nome)) { $msg = 'arquivo excluido com sucesso!'; if $msg = 'Erro ao excluir arquivo!'; else{ $msg = 'arquivo não existe!'; } return $msg; } echo excluirArquivo("../../metals/collections/pics/"); if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><?} } if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) { if($_REQUEST['ativa']==0){$v_inativa = 0; $var_inativa="Inativada";} if($_REQUEST['ativa']==1){$v_inativa = 1; $var_inativa="Ativada";} $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><?} } da esse erro por enquanto né... vamos ver os proximos ;x Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in C:\AppServ\www\ad\admaster\newpic.php on line 131 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 17, 2009 Olha... tenta indentar melhor seu código. Vai visualizar melhor o erro... http://pt.wikipedia.org/wiki/Indenta%C3%A7%C3%A3o A lógica está mais ou menos correta. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 17, 2009 vlw ae... mas não to conseguindo raciocinar cara.... muita informação sem orientação = 0 aprendizagem... se deve saber como arrumo isso ai né ¬¬ me explica ai arruma ai e comenta que eu aprendo ;S mas beleza.. vlw pela sua ajuda até o momento obrigado pela sua atenção ;S vou durmir pq virei a noite acordado tentando funfar isso ai --' mas tarde eu volto pra ver se consigo a solução ajudado ou quebrando a cabeça.. vlw novamente te+... Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 18, 2009 E ae ... to na luta ainda ;S ta rodando isso.. não ta dando erro e nem ta dando certo --' alguem pode dar uma mãozinha? if(is_file("$imagem_nome")) { unlink("$imagem_nome"); } if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><?} } if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) { if($_REQUEST['ativa']==0){$v_inativa = 0; $var_inativa="Inativada";} if($_REQUEST['ativa']==1){$v_inativa = 1; $var_inativa="Ativada";} $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><?} } ?> vlw... Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 18, 2009 to virando noites e noite nesse UNLINK e será que ninguem que manja pode me ajudar? unlink($resultado['caminho']); <?php $myFile = "$link_imgmd, $link_imgpq, $link_imgmd"; unlink($myFile); ?> ta f*** de entrar na cabeça essa coisa consigo manipular um script todo e não consigo adaptar uma funcionalidade, e olha que nesse forum tem muitos q só debater o olho e escrever 3 linhas de codigo, comentado pode explicar.... vlw imasters ¬¬ Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 18, 2009 com esse codigo cheguei a este AVISO na pagina que esta o codigo... Warning: unlink() [function.unlink]: Permission denied in C:\AppServ\www\ad\admaster\newpic.php on line 126 There was an error trying to delete the file. ja coloquei permissão total.. nos arquivos e pastas relacionadas... na funcionalidade... chmod 777 :S <? $do = unlink($regs_eqqs[0]); if($do=="1"){ echo "The file was deleted successfully."; } else { echo "There was an error trying to delete the file."; } ?> <? if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><? } } if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) { if($_REQUEST['ativa']==0){$v_inativa = 0; $var_inativa="Inativada";} if($_REQUEST['ativa']==1){$v_inativa = 1; $var_inativa="Ativada";} $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><? } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 18, 2009 chdir('../../metals/collections/pics/'); $do = unlink($imagem_nome); if($do=="1"){ echo "The file was deleted successfully."; } else { echo "There was an error trying to delete the file."; } consegui deletar sem fazer nada a imagem que adiciona... da variavel ;S quando adiciono a imagem ela ja deleta automatica... ;S consegui 1 coisa pelo menos ! kkk to na luta aki se alguem puder ajudar vlw. Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 22, 2009 problema insolucionavel... poe ae moder... ;S Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 22, 2009 Como assim? Todo problema tem solução... Como está o seu código agora? O que tentou fazer mais? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Setembro 22, 2009 Olá matias, muito obrigado pela intensão de ajudar... o codigo está assim... <? session_start(); if($_SESSION['log_in']!="ok") {header("Location:../");break;} else{ include_once("redimagens.php"); // Prepara a vari�vel caso o formul�rio tenha sido postado $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; $config = array(); // Tamano m�ximo da imagem, em bytes $config["tamanho"] = 9999999; // Largura M�xima, em pixels $config["largura"] = 1024; // Altura M�xima, em pixels $config["altura"] = 768; // Diret�rio onde a imagem ser� salva $config["diretorio"] = "../../metals/collections/pics/"; // Gera um nome para a imagem e verifica se j� n�o existe, caso exista, gera outro nome e assim sucessivamente.. // Função Recursiva function nome($extensao) { global $config; // Gera um nome �nico para a imagem //$temp = substr(md5(uniqid(time())), 0, 10); //$imagem_nome = $temp . "." . $extensao; $imagem_nome=$_FILES['foto']['name']; // Verifica se o arquivo j� existe, caso positivo, chama essa função novamente if(file_exists($config["diretorio"] . $imagem_nome)) { $imagem_nome = nome($extensao); } return $imagem_nome; } if($arquivo) { $erro = array(); // Verifica o mime-type do arquivo para ver se � de imagem. // Caso fosse verificar a extens�o do nome de arquivo, o c�digo deveria ser: // // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) { // $erro[] = "Arquivo em formato inv�lido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } // // Mas, o que ocorre � que alguns usu�rios mal-intencionados, podem pegar um v�rus .exe e simplesmente mudar a extens�o // para alguma das imagens e enviar. Ent�o, n�o adiantaria em nada verificar a extens�o do nome do arquivo. 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"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no m�ximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimens�es da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem n�o deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem n�o deve ultrapassar " . $config["altura"] . " pixels"; } } if(!sizeof($erro)) { // Pega extens�o do arquivo, o indice 1 do array conter� a extens�o preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera nome �nico para a imagem $imagem_nome = nome($ext[1]); // Caminho de onde a imagem ficar� $imagem_dir = $config["diretorio"] . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); $OBImagem = new OBImagem(); $remake_img = explode(".",$imagem_nome); $newname = $remake_img[0]."gd.".$remake_img[1]; $newname2 = $remake_img[0]."pq.".$remake_img[1]; $newname3 = $remake_img[0]."md.".$remake_img[1]; $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname",450,450,100); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname2",114,114,100); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname3",121,240,100); $link_imggd ="$newname"; $link_imgpq ="$newname2"; $link_imgmd ="$newname3"; } } include_once("../../library/connects.php"); include_once("../../library/functions.php"); if($_REQUEST['enviar']) { $valor = str_replace(",",".",$_REQUEST['valor']); $SQL_usuarios = "INSERT INTO rcwk_metals (idrcwk_grupos,idrcwk_subgrupos,codigo,descricao,valor,img_md,img_pq,img_gd,tipo) VALUES ('$_REQUEST[grupo]','$_REQUEST[subgrupo]','$_REQUEST[codigo]','$_REQUEST[descricao]','$valor','$link_imgpq','$link_imgmd','$link_imggd',3)"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Cadastro Realizado com sucesso !');</script><? } } if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) chdir('../../metals/collections/pics/'); $do = unlink($imagem_nome); if($do=="1"){ echo "The file was deleted successfully."; } else { echo "There was an error trying to delete the file."; } { $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça Excluida com sucesso !');</script><? } } if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) { if($_REQUEST['ativa']==0){$v_inativa = 0; $var_inativa="Inativada";} if($_REQUEST['ativa']==1){$v_inativa = 1; $var_inativa="Ativada";} $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) {?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><? } } ?> <script> function excluir(parametro) { obj = document.cadeqq; obj.exclui.value = parametro; obj.submit(); } function ativar(parametro,id) { obj = document.cadeqq; obj.ativa.value = parametro; obj.exclui.value = id; obj.submit(); } function carrega_subgrupo(parametro) { obj = document.cadeqq; obj.idgrupo.value = parametro; obj.submit(); } </script> <link rel="stylesheet" type="text/css" href="../../css/styless.css"> <form name="cadeqq" action="" method="POST" enctype="multipart/form-data"> <p> <input type="hidden" name="exclui"> <input type="hidden" name="ativa"><input type="hidden" name="idgrupo"> <span class="label_wall">Adicionar Nova Foto</span></p> <p> </p> <table width="100%" height="225" border="0" cellpadding="3" cellspacing="3" rules="groups"> <tr><td width="8%" height="29" align="left" bgcolor="#A6A48C" class=label_ad2><font face="Arial" size="2">Grupo</td> <td height="40" bgcolor="#A6A48C"><select name="grupo" onchange="carrega_subgrupo(this.value)"> <option value="0">Selecione...</option> <? $SQL_grupos = "SELECT * FROM rcwk_grupos"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { if((isset($_REQUEST[grupo]))and($_REQUEST[grupo]==$reg_grupo[idrcwk_grupos])) {echo "<option value=$reg_grupo[0] selected>$reg_grupo[1]</option>";} else {echo "<option value=$reg_grupo[0]>$reg_grupo[1]</option>";} } ?></select></td></tr> <tr><td height="28" align="left" bgcolor="#AFAE9A" class=label_ad2><font face="Arial" size="2">Subgrupo</td> <td height="40" bgcolor="#AFAE9A"><select name="subgrupo"> <option value="0">Selecione...</option> <? $SQL_grupos = "SELECT * FROM rcwk_subgrupos WHERE idrcwk_grupos=$_REQUEST[idgrupo]"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { echo "<option value=$reg_grupo[0]>$reg_grupo[2]</option>"; } ?></select></td></tr> <tr><td height="28" align="left" bgcolor="#B7B6A4" class=label_ad2><font face="Arial" size="2">C�digo</td><td height="40" bgcolor="#B7B6A4"><input type="text" name="codigo" class="text_box"></td></tr> <tr><td height="28" align="left" bgcolor="#BDBCAC" class=label_ad2><font face="Arial" size="2">Descrição</td><td height="40" bgcolor="#BDBCAC"><input type="text" name="descricao" class="text_box" maxlength="30"></td></tr> <tr><td height="28" align="left" bgcolor="#C7C6B8" class=label_ad2><font face="Arial" size="2">Valor</td><td height="40" bgcolor="#C7C6B8"><input type="text" name="valor" class="text_box"></td></tr> <tr><td height="30" align="left" bgcolor="#CCCBBF" class=label_ad2><font face="Arial" size="2">Imagem</td><td height="40" bgcolor="#CCCBBF"><input type="file" name="foto" class="text_box" value="Foto..."></td></tr> <tr><td height="30" bgcolor="#D7D6CC"></td><td height="40" colspan="2" align="left" bgcolor="#D7D6CC"><input type="submit" name="enviar" value="Cadastrar"></td></tr> </table><br> <div class="grid_ad"> <table width="100%"> <tr><td width="150" bgcolor="#D7D6CC" class=label_wall>Grupo</td><td class=label_wall>Subgrupo</td><td class=label_wall>C�digo</td><td class=label_wall>Descrição</td><td class=label_wall>Valor</td><td class=label_wall>Imagem</td><td class=label_wall>Ativar/Inativar</td><td class=label_wall>Excluir</td><tr> <? $sql_eqqs = "SELECT rcwk_metals.*, rcwk_subgrupos.descricao as subgrup_desc, rcwk_grupos.descricao as grup_desc FROM rcwk_metals LEFT OUTER JOIN rcwk_subgrupos ON rcwk_metals.idrcwk_subgrupos = rcwk_subgrupos.idrcwk_subgrupos LEFT OUTER JOIN rcwk_grupos ON rcwk_metals.idrcwk_grupos = rcwk_grupos.idrcwk_grupos ORDER BY rcwk_metals.idrcwk_metals DESC"; $exec_sql = mysql_query($sql_eqqs); while($regs_eqqs = mysql_fetch_array($exec_sql)) { $ativo_inativo = $regs_eqqs[9]; if($ativo_inativo==1) { $status_ativo="Inativar"; $idativar = 0; } if($ativo_inativo==0) { $status_ativo="Ativar"; $idativar = 1; } echo "<tr><td class=text_wall>$regs_eqqs[grup_desc]</td><td class=text_wall>$regs_eqqs[subgrup_desc]</td><td class=text_wall>$regs_eqqs[3]</td><td class=text_wall>$regs_eqqs[4]</td><td class=text_wall>$regs_eqqs[5]</td><td class=text_wall><a href=javascript:; onclick=window.open('../../metals/collections/pics/$regs_eqqs[7]','nwin','height=350,width=350,scrollbars=no,location=no')>Visualizar</a></td><td class=text_wall><a href=javascript:; onclick=ativar($idativar,$regs_eqqs[0])>$status_ativo</a></td><td class=text_wall><a href=javascript:; onclick=excluir($regs_eqqs[0])>Excluir</a></td></tr>"; } ?> </form> </div> <? } ?> e imprime isso na tela... antes e depois de clicar em EXCLUIR Warning: unlink() [function.unlink]: Permission denied in C:\AppServ\www\xx\xxxxx\newpic.php on line 131 There was an error trying to delete the file. e não exclui nada ! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 22, 2009 Então... o erro está dizendo que você não tem permissão para apagar a foto. Sobre o fato de estar executando sempre, faça o que eu disse em um post anterior. Corrija a indentação, pois o problema está aqui... if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) // aonde está a chave de abertura deste if? // quando não há chave, o PHP entende que a primeira linha faz parte deste if e o restante não chdir('../../metals/collections/pics/');// ou seja, só esta linha está sendo executada somente quando passar pelo IF $do = unlink($imagem_nome);// esta linha if($do=="1"){// e esta linha são executadas de acordo com OUTRO if, que eu não consegui identificar, em função da indentação echo "The file was deleted successfully."; } else { echo "There was an error trying to delete the file."; } Leia o comentário dentro do código Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Jair Humberto 2 Denunciar post Postado Setembro 22, 2009 cara, vou tentar te ajudar. Eu reescrevi o código corrigindo alguns pontos. Não sei se vai resolver o seu problema, mas pelo menos deve ajudar você a localiza-lo. Seu código estava uma perfeita desordem, você deve começar, como o Matias Rezende disse indentando seu código. Outra coisa, seu HTML ta horrível, tem tags obsoletas e valores de atributos sem estar entre aspas, e tags que deveriam ter fechamento e não têm... enfim você deve se esforçar pra melhorar isso, ta muito tocado, parece até que é feito por algum programa e não propriamente desenvolvido. o php ta ruim. mas estuda esse código aí e vê se consegue melhorar. Eu coloquei comentarios com "#" nos lugares onde modifiquei. <?php session_name("seu_site"); # seta um novo nome de sessão (considero mais seguro) session_start(); session_regenerate_id(); # gera um novo id para a sessão a cada requisicao // Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente.. // Função Recursiva # para tornar a função reaproveitavel e facil de manter adicionei alguns parametros function nome($extensao, $files, $diretorio) { # global $config # removido, uma função com vínculo externo não é reaproveitável $imagem_nome = $files['name']; # removido FILES porque é um array super global. Mesmo problema de reaproveitamento. // Verifica se o arquivo ja existe, caso positivo, chama essa função novamente if(file_exists($diretorio . $imagem_nome)) { # $imagem_nome = nome($extensao, $files, $diretorio); # se você chamar a função novamente, vai entrar em loop infinito. return ''; } return $imagem_nome; } if($_SESSION['log_in'] != "ok") { header("Location:../"); #break; # break é usado para terminar um loop. # o header 'Location' termina o script imediamente sem passar para a proxima linha # então o tal break, pela lógica, não deve nem mesmo ser executado. # teve algum motivo pra usar o break? } else { include_once("redimagens.php"); $config = array(); // Tamano maximo da imagem, em bytes $config["tamanho"] = 9999999; // Largura Maxima, em pixels $config["largura"] = 1024; // Altura Maxima, em pixels $config["altura"] = 768; // Diretorio onde a imagem sera salva $config["diretorio"] = "../../metals/collections/pics/"; # Extensões suportadas # adicionada esta configuração. (Fica melhor assim) $config["formato"] = array("pjpeg","jpeg","png","gif","bmp") # removido o operador ternario que criava a variavel $arquivo antes de entrar no if # só entrará no if se for enviado algum arquivo de algum campo com name 'foto' if($_FILES["foto"]) { # cria um alias para o array FILES $arquivo = $_FILES["foto"]; $erro = array(); # modificada a forma de fazer a verificação (expressões regulares pesam mais que um simples array_search if(array_search($arquivo["type"],$config["formato"]) !== false) { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no m?ximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimensoes da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem n?o deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem n?o deve ultrapassar " . $config["altura"] . " pixels"; } } else { # inversão da condição. Apenas para ficar mais legível. # as condições que não são desejadas, ou entram em contraste com as mais esperadas # ficam melhores no else. Em vez do contrário como você tinha feito $erro[] = "Arquivo em formato invalido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } if(!$erro) { # novamente, expressão regular pesa mais que um simples pathinfo pra pegar a extensão $ext = pathinfo($arquivo["name"], PATHINFO_EXTENSION); // Gera nome unico para a imagem # agora a função nome pode retornar uma string vazia(devido as mudanças que fiz na função) # a funçao também precisa de mais parametros agora $imagem_nome = nome($ext, $arquivo, $config); # adicionada essa condição pra verificar se foi possível dar um nome ao arquivo if($image_nome) { // Caminho de onde a imagem ficara $imagem_dir = $config["diretorio"] . $imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); # o que é isso? você não explica e quer que adivinhemos? # $OBImagem = new OBImagem(); # mudado. comece a ler a documentação, existe formas melhores de se fazer as coisas. $remake_img_extensao = pathinfo($imagem_nome, PATHINFO_EXTENSION); $remake_img_nome = basename($imagem_nome, ".".$remake_img_extensao; $newname = $remake_img_nome."gd.".$remake_img_extensao; $newname2 = $remake_img_nome."pq.".$remake_img_extensao; $newname3 = $remake_img_nome."md.".$remake_img_extensao; $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname",450,450,100); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname2",114,114,100); $OBImagem->redimensiona("../../metals/collections/pics/$imagem_nome","../../metals/collections/pics/$newname3",121,240,100); $link_imggd = "$newname"; $link_imgpq = "$newname2"; $link_imgmd = "$newname3"; } else { # ache uma forma de resolver isso ! :) # pois isso é só um paleativo $erro[] = "arquivo já existe"; } } } include_once("../../library/connects.php"); include_once("../../library/functions.php"); if($_REQUEST['enviar']) { $valor = str_replace(",",".",$_REQUEST['valor']); $SQL_usuarios = "INSERT INTO rcwk_metals (idrcwk_grupos,idrcwk_subgrupos,codigo,descricao,valor,img_md,img_pq,img_gd,tipo) VALUES ('$_REQUEST[grupo]','$_REQUEST[subgrupo]','$_REQUEST[codigo]','$_REQUEST[descricao]','$valor','$link_imgpq','$link_imgmd','$link_imggd',3)"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios){ ?><script>alert('Cadastro Realizado com sucesso !');</script><?php } } #use chaves, fica mais legível. Não seja um escritor grego de PHP if(($_REQUEST['exclui']!="") and ($_REQUEST['ativa']=="")) { chdir('../../metals/collections/pics/'); } # leia a documentação http://www.php.net. Leia toda essa função e você entenderá # modificado. a função unlink foi jogada diretamente no if. # isso não muda seu comportamento. Achei melhor assim. if(unlink($imagem_nome)) { echo "The file was deleted successfully."; } else { echo "There was an error trying to delete the file."; } # o que afinal era esse bloco de código? Comentei #{ # $SQL_usuarios = "DELETE FROM rcwk_metals WHERE idrcwk_metals=$_REQUEST[exclui]"; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) { ?><script>alert('Peça Excluida com sucesso !');</script><?php } # #} # # pra que os parenteses? são desnecessários. Refeito. Use && em vez de and. And é usado em outros fins. # #if(($_REQUEST['ativa']!="") and ($_REQUEST['exclui']!="")) if($_REQUEST['ativa']!="" && $_REQUEST['exclui']!="") { # protesto abaixo a ilegividade. Refeito. if($_REQUEST['ativa']==0){ $v_inativa = 0; $var_inativa="Inativada"; } # idem if($_REQUEST['ativa']==1){ $v_inativa = 1; $var_inativa="Ativada"; } $SQL_usuarios = "UPDATE rcwk_metals SET status =$v_inativa WHERE idrcwk_metals=$_REQUEST[exclui] "; $exec_usuarios = mysql_query($SQL_usuarios); if($exec_usuarios) { ?><script>alert('Peça <?=$var_inativa;?> com sucesso !');</script><?php } } ?> <script> function excluir(parametro) { obj = document.cadeqq; obj.exclui.value = parametro; obj.submit(); } function ativar(parametro,id) { obj = document.cadeqq; obj.ativa.value = parametro; obj.exclui.value = id; obj.submit(); } function carrega_subgrupo(parametro) { obj = document.cadeqq; obj.idgrupo.value = parametro; obj.submit(); } </script> <link rel="stylesheet" type="text/css" href="../../css/styless.css"> <form name="cadeqq" action="" method="POST" enctype="multipart/form-data"> <p> <input type="hidden" name="exclui"/> <input type="hidden" name="ativa"/> <input type="hidden" name="idgrupo"/> <span class="label_wall">Adicionar Nova Foto</span> </p> <table width="100%" height="225" border="0" cellpadding="3" cellspacing="3" rules="groups"> <tr> <td width="8%" height="29" align="left" bgcolor="#A6A48C" class=label_ad2> <font face="Arial" size="2">Grupo</font> </td> <td height="40" bgcolor="#A6A48C"> <select name="grupo" onchange="carrega_subgrupo(this.value)"> <option value="0">Selecione...</option> <?php $SQL_grupos = "SELECT * FROM rcwk_grupos"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { if((isset($_REQUEST[grupo]))and($_REQUEST[grupo]==$reg_grupo[idrcwk_grupos])) { echo "<option value=$reg_grupo[0] selected>$reg_grupo[1]</option>"; } else { echo "<option value=$reg_grupo[0]>$reg_grupo[1]</option>"; } } ?> </select> </td> </tr> <tr> <td height="28" align="left" bgcolor="#AFAE9A" class=label_ad2> <font face="Arial" size="2">Subgrupo</font> </td> <td height="40" bgcolor="#AFAE9A"> <select name="subgrupo"> <option value="0">Selecione...</option> <?php $SQL_grupos = "SELECT * FROM rcwk_subgrupos WHERE idrcwk_grupos=$_REQUEST[idgrupo]"; $ex_sql = mysql_query($SQL_grupos); while ($reg_grupo = mysql_fetch_array($ex_sql)) { echo "<option value=$reg_grupo[0]>$reg_grupo[2]</option>"; } ?> </select> </td> </tr> <tr> <td height="28" align="left" bgcolor="#B7B6A4" class=label_ad2> <font face="Arial" size="2">C?digo</font> </td> <td height="40" bgcolor="#B7B6A4"> <input type="text" name="codigo" class="text_box"/> </td> </tr> <tr> <td height="28" align="left" bgcolor="#BDBCAC" class=label_ad2> <font face="Arial" size="2">Descrição</font> </td> <td height="40" bgcolor="#BDBCAC"> <input type="text" name="descricao" class="text_box" maxlength="30"/> </td> </tr> <tr> <td height="28" align="left" bgcolor="#C7C6B8" class=label_ad2> <font face="Arial" size="2">Valor</font> </td> <td height="40" bgcolor="#C7C6B8"> <input type="text" name="valor" class="text_box"/> </td> </tr> <tr> <td height="30" align="left" bgcolor="#CCCBBF" class=label_ad2> <font face="Arial" size="2">Imagem</font> </td> <td height="40" bgcolor="#CCCBBF"> <input type="file" name="foto" class="text_box" value="Foto..."/> </td> </tr> <tr> <td height="30" bgcolor="#D7D6CC"></td> <td height="40" colspan="2" align="left" bgcolor="#D7D6CC"> <input type="submit" name="enviar" value="Cadastrar"/> </td> </tr> </table> <br /> <div class="grid_ad"> <table width="100%"> <tr> <td width="150" bgcolor="#D7D6CC" class=label_wall>Grupo</td> <td class=label_wall>Subgrupo</td> <td class=label_wall>C?digo</td> <td class=label_wall>Descrição</td> <td class=label_wall>Valor</td> <td class=label_wall>Imagem</td> <td class=label_wall>Ativar/Inativar</td> <td class=label_wall>Excluir</td> </tr> </table> <?php $sql_eqqs = "SELECT rcwk_metals.*, rcwk_subgrupos.descricao as subgrup_desc, rcwk_grupos.descricao as grup_desc FROM rcwk_metals LEFT OUTER JOIN rcwk_subgrupos ON rcwk_metals.idrcwk_subgrupos = rcwk_subgrupos.idrcwk_subgrupos LEFT OUTER JOIN rcwk_grupos ON rcwk_metals.idrcwk_grupos = rcwk_grupos.idrcwk_grupos ORDER BY rcwk_metals.idrcwk_metals DESC"; $exec_sql = mysql_query($sql_eqqs); while($regs_eqqs = mysql_fetch_array($exec_sql)) { $ativo_inativo = $regs_eqqs[9]; if($ativo_inativo==1) { $status_ativo="Inativar"; $idativar = 0; } if($ativo_inativo==0) { $status_ativo="Ativar"; $idativar = 1; } echo "<tr><td class=text_wall>$regs_eqqs[grup_desc]</td><td class=text_wall>$regs_eqqs[subgrup_desc]</td><td class=text_wall>$regs_eqqs[3]</td><td class=text_wall>$regs_eqqs[4]</td><td class=text_wall>$regs_eqqs[5]</td><td class=text_wall><a href=javascript:; onclick=window.open('../../metals/collections/pics/$regs_eqqs[7]','nwin','height=350,width=350,scrollbars=no,location=no')>Visualizar</a></td><td class=text_wall><a href=javascript:; onclick=ativar($idativar,$regs_eqqs[0])>$status_ativo</a></td><td class=text_wall><a href=javascript:; onclick=excluir($regs_eqqs[0])>Excluir</a></td></tr>"; } ?> </div> </form> <?php } ?> flw Compartilhar este post Link para o post Compartilhar em outros sites