триене на изображение

embaka

Registered
значи имам форма, от която си качвам снимки, обаче като реша да трия примерно някоя обява, озбражението си остава в хостинга.
та въпроса ми е може ли да се направи по някакъв начин, след затриването на записа да се изтрие и изображението от хоста
 
ще стане ;)

Код:
<?php
$gid=$_GET['id'];
$select=mysql_query("SELECT * FROM снимки WHERE id='$gid'");
while ($r=mysql_fetch_array($select))
{
$snimka=$r['ПОЛЕ'];
}
$imali=mysql_num_rows($select);
if ($imali < 1)
{
echo "Снимката не е намерена.";
}
else
{
unlink("$snimka");
echo "Снимката е изтрита успешно!";
}
?>

Това е пример който драснах сега.
Надявам се да схванеш как ще стане ;) :lol:
 
proba каза:
ще стане ;)

Код:
<?php
$gid=$_GET['id'];
$select=mysql_query("SELECT * FROM снимки WHERE id='$gid'");
while ($r=mysql_fetch_array($select))
{
$snimka=$r['ПОЛЕ'];
}
$imali=mysql_num_rows($select);
if ($imali < 1)
{
echo "Снимката не е намерена.";
}
else
{
unlink("$snimka");
echo "Снимката е изтрита успешно!";
}
?>

Това е пример който драснах сега.
Надявам се да схванеш как ще стане ;) :lol:
Това няма ли да изтрие само записът от Базата Данни ? :)
 
не .
това ще изтрие само снимката !!!

Код:
unlink("$snimka");
просто взема снимката от база данни.
а за да я изтриe и от база данни му трябва това:

Код:
mysql_query("DELETE FROM таблица WHERE id='$gid'");

това е.
дал съм му код да трие снимка.
а за да я трие и от база данни трябва да сложи заявката която дадох на по-горният ред ;]
 
del.php
Код:
<?php
include ("config.php"); //чрез този файл се свързваш към базата от данни 
function secure($var) { 
return addslashes(htmlspecialchars($var)); 
} 
$id = secure($_GET['id']); 
if(!$id) { 
print "Изберете картинка , която да триете!"; 
} 
else { 
$result = mysql_query("DELETE FROM `таблица` WHERE id='$id' ",$connection); 
print "Успешно изтрихте картинката!<br />"; 
} 
?>

del.php?id=1 - и триеш снимка с id 1 :)

config.php

Код:
<?php
$user = "root";
$pass = "парла"; 
$db = "база";
$host = "localhost";

$connection = mysql_connect("$host", "$user", "$pass") or die("Сайтът не може да се свърже към базата данни 1");
$db = mysql_select_db("$db",$connection)or die("Сайтът не може да се свърже към базата данни 2"); 
?>
 
Това ми е заявката и ми дава следните грешки:
Код:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\holiday\admin\drop_balove.php on line 28

Warning: unlink() [function.unlink]: No error in C:\xampp\htdocs\holiday\admin\drop_balove.php on line 33

Статията е Изтрита успешно!

Код:
<?php 
include ("lock.php");
include ("blocks/bd.php");
if (isset($_POST['id'])) {$id = $_POST['id'];}
$quuery = mysql_query("SET names cp1251");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Премахване на бал</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<? include("blocks/header.php");   ?> 
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>

<? include ("blocks/lefttd.php");  ?>      
        <td valign="top">
<?php 
if (isset($id))
{
$result = mysql_query ("DELETE FROM balove WHERE id='$id'");
while ( $nyrow = mysql_fetch_array ($result) )
{
$snimka=$myrow['poster'];
}

if ($result == 'true') { unlink("$snimka"); echo "<p>Статията е Изтрита успешно!</p>";}
else {echo "<p>Статията Не е изтрита!</p>";}
}		 
else 
{
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>";
}	 
?>
         
             </td>
      </tr>
    </table></td>
  </tr>
  
<?  include ("blocks/footer.php");        ?>  
</table>
</body>
</html>
 
Пробвай ми горните кодове и кажи да ли работят , на 100 % съм сигурен че работят :)
Колкото до твоя код с грешката дай абсулютно целия код.
 
embaka каза:
горе е кода:
Така:
Код:
<?php 
include ("lock.php"); 
include ("blocks/bd.php"); 
if (isset($_POST['id'])) {$id = $_POST['id'];} 
$quuery = mysql_query("SET names cp1251"); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Премахване на бал</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> 
 
<? include("blocks/header.php");   ?> 
  <tr> 
    <td><table width="690" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
 
<? include ("blocks/lefttd.php");  ?>      
        <td valign="top"> 
<?php 
if (isset($id)) { 
$result = mysql_query ("DELETE FROM balove WHERE id='$id'"); 
while (@$nyrow = mysql_fetch_array($result)) { 
$snimka=$myrow['poster']; 
}
if ($result == 'true') { 
unlink('$snimka'); 
echo "<p>Статията е Изтрита успешно!</p>";
} 
else {echo "<p>Статията Не е изтрита!</p>";} 
}       
else { 
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>"; 
}    
?> 
          
             </td> 
      </tr> 
    </table></td> 
  </tr> 
  
<?  include ("blocks/footer.php");        ?>  
</table> 
</body> 
</html>
:roll:
 
Warning: unlink($snimka) [function.unlink]: No such file or directory in C:\xampp\htdocs\holiday\admin\drop_balove.php on line 31

Статията е Изтрита успешно!




това unlink('$snimka') ми се струва, че не работи или трябва да се опише някакъв път до там
 
Код:
<?php 
include ("lock.php"); 
include ("blocks/bd.php"); 
if (isset($_POST['id'])) {$id = $_POST['id'];} 
$quuery = mysql_query("SET names cp1251"); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Премахване на бал</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> 
 
<? include("blocks/header.php");   ?> 
  <tr> 
    <td><table width="690" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
 
<? include ("blocks/lefttd.php");  ?>      
        <td valign="top"> 
<?php 
if (isset($id)) { 
$result = mysql_query ("DELETE FROM balove WHERE id='$id'"); 
while (@$nyrow = mysql_fetch_array($result)) { 
$snimka=$myrow['poster']; 
} 
if ($result == 'true') { 

echo "<p>Статията е Изтрита успешно!</p>"; 
} 
else {echo "<p>Статията Не е изтрита!</p>";} 
}        
else { 
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>"; 
}    
?> 
          
             </td> 
      </tr> 
    </table></td> 
  </tr> 
  
<?  include ("blocks/footer.php");        ?>  
</table> 
</body> 
</html>
 
Сега би трябвало да стане.
Код:
<?php 
include ("lock.php"); 
include ("blocks/bd.php"); 
if (isset($_POST['id'])) {$id = $_POST['id'];} 
$quuery = mysql_query("SET names cp1251"); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Премахване на бал</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> 
 
<? include("blocks/header.php");   ?> 
  <tr> 
    <td><table width="690" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
 
<? include ("blocks/lefttd.php");  ?>      
        <td valign="top"> 
<?php 
if (isset($id)) { 
$result = mysql_query ("DELETE FROM balove WHERE id='$id'"); 
while (@$nyrow = mysql_fetch_array($result)) { 
$snimka=$myrow['poster']; 
} 
if ($result == 'true') { 
unlink(@"$snimka"); 
echo "<p>Статията е Изтрита успешно!</p>"; 
} 
else {echo "<p>Статията Не е изтрита!</p>";} 
}        
else { 
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>"; 
}    
?> 
          
             </td> 
      </tr> 
    </table></td> 
  </tr> 
  
<?  include ("blocks/footer.php");        ?>  
</table> 
</body> 
</html>
 
все е същото, дори като добавя и тея неща, пак не ще:

Код:
<?php
include ("lock.php");
include ("blocks/bd.php");
if (isset($_POST['id'])) {$id = $_POST['id'];}
$quuery = mysql_query("SET names cp1251");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Премахване на бал</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<? include("blocks/header.php");   ?>
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>

<? include ("blocks/lefttd.php");  ?>     
        <td valign="top">
<?php
if (isset($id)) {
$result = mysql_query ("DELETE FROM balove WHERE id='$id'");
while (@$myrow = mysql_fetch_array($result)) {
$snimka=$myrow['poster'];
}
if ($result == 'true') {
chdir('../images/');
    $do = unlink("$snimka"); 
echo "<p>Статията е Изтрита успешно!</p>";
}
else {echo "<p>Статията Не е изтрита!</p>";}
}       
else {
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>";
}   
?>
         
             </td>
      </tr>
    </table></td>
  </tr>
 
<?  include ("blocks/footer.php");        ?> 
</table>
</body>
</html>
 
От всичките постове неразбрах точно какво искаш , искаш да се трие снимката от базата данни и от папка /images/ така ли :roll:

Сега промених малко кода не разбрах папката /images/ там където е файла ли е или назад...

Ето кода и ми кажи да ли бачка :)
Код:
<?php 
include ("lock.php"); 
include ("blocks/bd.php"); 
if (isset($_POST['id'])) {$id = $_POST['id'];} 
$quuery = mysql_query("SET names cp1251"); 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Премахване на бал</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border"> 
 
<? include("blocks/header.php");   ?> 
  <tr> 
    <td><table width="690" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
 
<? include ("blocks/lefttd.php");  ?>      
        <td valign="top"> 
<?php 
if (isset($id)) { 
$result = mysql_query ("DELETE FROM balove WHERE id='$id'"); 
while (@$myrow = mysql_fetch_array($result)) { 
$snimka=$myrow['poster']; 
} 
if ($result == 'true') {  
umask(0); 
unlink ("/images/".$snimka.".jpg"); 
echo "<p>Статията е Изтрита успешно!</p>"; 
} 
else {echo "<p>Статията Не е изтрита!</p>";} 
}        
else { 
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>"; 
}    
?> 
          
             </td> 
      </tr> 
    </table></td> 
  </tr> 
 
<?  include ("blocks/footer.php");        ?> 
</table> 
</body> 
</html>

Дал съм пример с формат .jpg

unlink ("/images/".$snimka.".jpg");
 

Back
Горе