Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Seguinte, fiz um sistema de upload de imagens e texto.
ambos são cadastrados em uma tabela de nome 'ultimos' com o type texto.
Está tudo funcionando perfeitamente, porém na parte da exclusão (um list box o qual seleciono o que foi cadastrado para poder exluir) eu queria que excluisse também a foto da pasta do servidor, e não só a linha específica no banco de dados.
o php do delete tá assim:
<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
$caminho = "../galeria/";
$del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
while($dados = mysql_fetch_object($del)){
unlink($caminho.$dados->nome);
}
$deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
if ($deleta =='1'){
echo "Deletado com Sucesso!";
}else {
echo "Erro ao deletar!";
}
}
?>
ele deleta a "linha" que eu escolhi no listbox (select name=id) porém quanto a exclusão "física" da imagem tenho os seguintes erros:
Catchable fatal error: Object of class stdClass could not be converted to string inC:\wamp\easyphp\data\localweb\citrum\admin\painel.php on line 198
198 é essa linha unlink($caminho.$dados->nome);
Se alguém puder ajudar!
verifica, vê se o caminho ta certinho, eu uso o unlink nos meus sistemas
Agora apareceu
Notice: Undefined property: stdClass::$nome in C:\wamp\easyphp\data\localweb\citrum\admin\painel.php on line 210
NULL Deletado com Sucesso!
Linha 210 é var_dump($dados->nome);
Se eu mudo o diretório de ../galeria/ para ../galeria ele dá erro de permissão
se ajudar, aqui tá meu código inteiro... as vezes o erro tá em algo que eu não postei e não tô conseguindo identificá-lo
<div id="painel">
<?php
if (isset($_POST['cadastra']) && $_POST['cadastra'] == 'Enviar') {
$bd = "SELECT id
FROM ultimos";
$result = mysql_query($bd)
or die (mysql_error());
if (@mysql_num_rows($result) < 9){
$erro = array();
// Recupera os dados dos campos
$link = $_POST['link'];
$nome = $_POST['nome'];
$foto = $_FILES["foto"];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])) {
// Largura máxima em pixels
$largura = 10000;
// Altura máxima em pixels
$altura = 600;
// Tamanho máximo do arquivo em bytes
$tamanho = 999999;
// Verifica se o arquivo é uma imagem
if(!preg_match( '/^image\/(gif|bmp|png|jpg|jpeg)+$/', $foto["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
else
{
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$erro[] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$erro[] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($foto["size"] > $tamanho) {
$erro[] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
}
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
}
else {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "../galeria/" . $nome_imagem;
}
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("INSERT INTO ultimos VALUES ('', '".$nome."', '".$nome_imagem."', '".$link."')");
// Se os dados forem inseridos com sucesso
if ($sql){
echo "Você foi cadastrado com sucesso.";
} else {
echo "Erro! O Erro ocorreu no cadastro dos arquivos para o banco.";
}
}
// Se houver mensagens de erro, exibe-as
}
else{
echo "O Limite de Sites Cadastrados Foi Atingido. Por favor, exclua algum!";
}
}
?>
<!--?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
$deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
if ($deleta =='1'){
echo "Deletado com Sucesso!";
}else {
echo "Erro ao deletar!";
}
}
?-->
<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
$caminho = "../galeria/";
$del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
while($dados = mysql_fetch_object($del)){
unlink($caminho.$dados->nome);
}
$deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
if ($deleta =='1'){
echo "Deletado com Sucesso!";
}else {
echo "Erro ao deletar!";
}
}
?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="0" border="0" align="center" cellspacing="0">
<tr>
<th colspan="2" align="center" scope="col"><strong>Cadastro Portifólio</strong></th>
</tr>
<tr>
<th scope="row">Nome do Site:</th>
<td><label>
<input type="text" name="nome" id="nome" />
</label></td>
</tr>
<tr>
<th scope="row">Link do Site:</th>
<td><label>
<input type="text" name="link" id="link" />
</label></td>
</tr>
<tr>
<th scope="row">Imagem</th>
<td><label>
<input type="file" name="foto" id="foto" />
</label></td>
</tr>
<tr>
<th scope="row"> </th>
<td align="right"><label>
<input type="hidden" name="cadastra" value="add" />
<input type="submit" name="cadastra" id="cadastra" value="Enviar" />
</label></td>
</tr>
</table>
</form>
</div>
<div id="painel">
<?php
$sql2 = "SELECT id, nome, foto, link FROM ultimos ORDER BY id";
$resultado2 = mysql_query($sql2)
or die (mysql_error());
if (@mysql_num_rows($resultado2) == 0)
echo("Sem Resultados");
?>
<form id="form2" name="form2" method="post" action="" enctype="multipart/form-data">
<table border="0" align="center">
<tr>
<td><label>
<select name="id">
<option value="-1">Selecione o Portifólio</option>
<?php$id = $lista[0];
$nome = $lista[1];
$foto = $lista[2];
?>
<option value="<?php echo $id; ?>"><?php echo $nome; ?></option>
<?php
}
?>
</select>
</label>
</td>
<td>
<input type="hidden" name="apagar" value="excluir" />
<input type="submit" name="excluir" id="excluir" value="Excluir" />
</td>
</tr>
<tr>
</table>
</form>
</div>
<a href="<?php echo $logoutAction ?>">Log Out</a>
</diTenta com array:
<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
$caminho = "../galeria/";
$del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
while($dados = mysql_fetch_array($del,MYSQL_ASSOC)){
unlink($caminho.$dados["nome"]);
}
$deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
if ($deleta =='1'){
echo "Deletado com Sucesso!";
}else {
echo "Erro ao deletar!";
}
}
?>cristianoolv, MUITO OBRIGADO!
fiz as alterações e deu tudo certo!
Tenta:
var_dump($dados->nome);