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

виждам, че си дал пример с jpg ама при мен е png, имам описани няколко формата. да искам да се трие снимката от папката.

понеже това се намира в Папка admin, а директорията за изображенията ми е в главната root и там се добавят в папка images


Това unlink не работи!!!
 
embaka каза:
виждам, че си дал пример с jpg ама при мен е png, имам описани няколко формата. да искам да се трие снимката от папката.

понеже това се намира в Папка admin, а директорията за изображенията ми е в главната root и там се добавят в папка images
Да предприемем че при качването на снимката се записват и форматите следователно ->
Код:
umask(0); 
unlink ("/images/".$snimka.".jpg");
го промени на
Код:
umask(0); 
unlink ("../images/".$snimka."");
 
embaka каза:
не трябва ли да е така

Код:
umask(0);
unlink ("../images/".$snimka.".");
Ако го запишеш така според мен все едно линка е
http://localhost/images/embaka.PNG. и затова махни точката ако не стане с точка я сложи на ново и ще видим :?:
 
и в двата случая не работи :(


Мисля да пробвам с това:

Код:
<?php
$connection = ssh2_connect(SERVER_NAME, PORT);
ssh2_auth_password($connection, USERNAME, PASSWORD);
$sftp = ssh2_sftp($connection);

unlink("ssh2.sftp://$sftp/" . REMOTE_DIRECTORY . FILENAME); // returns FALSE on success and on failure

rename("ssh2.sftp://$sftp/" . REMOTE_DIRECTORY . OLD_FILENAME, "ssh2.sftp://$sftp/" . REMOTE_DIRECTORY . NEW_FILENAME); // returns FALSE on success and on failure
?>
 
Добре я пробвай така:

index1.php
Код:
<? 
include "db.php";
for ($i=$broi; $i>0; $i--) { 
if (is_file("../images/".$i.".png")) { 
include "../images/".$i.".png"; 
echo"<font size=1>Файл $i.png</font> "; 
echo "<a href='del.php?file=".$i."' class='BlockTextSmall'>Изтриване</a>"; 
echo "<br /><hr />"; 
} 
} 
?>

del.php
Код:
<?php 

umask(0); 
$i = $_GET['file']; 


umask(0); 
unlink ("../images/".$i.".png"); 
?>

db.php
Код:
<?php $broi=1 ; ?>

Би трябвало да я трие от папката само по този начин
 
няма да стане с това unlink, разбираш ли, ясно самата функция не върши работа, аз не мога да разбера това unlink как ще трие. според мен премахва пътя, връзката или де да знам и аз кво ама с това нещо няма да стане
 
embaka каза:
няма да стане с това unlink, разбираш ли, ясно самата функция не върши работа, аз не мога да разбера това unlink как ще трие. според мен премахва пътя, връзката или де да знам и аз кво ама с това нещо няма да стане
При мен по горния начин работи , дай ми файла с който качваш снимки + сяла , да се пробвам да сътворя нещо , щом стане ще ти постна тук файловете ;)
 
ето го:
http://embaka.holideitur.net/delete.rar

забравих да сложа в главната директория images папка, създай я да нямаш проблеми
 
Код:
CREATE TABLE IF NOT EXISTS `userlist` (
  `id` int(3) NOT NULL auto_increment,
  `user` varchar(50) collate utf8_bin NOT NULL,
  `pass` varchar(50) collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ;

--
-- Дъмп (схема) на данните в таблицата `userlist`
--

INSERT INTO `userlist` (`id`, `user`, `pass`) VALUES
(1, 'embaka', '123456'),
(2, 'polya', '123456');
 
извеждане на файловете от папка /images/

index.php
Код:
<?php 
$directory = opendir('images/'); 
while ($files = readdir($directory)) { 
$file_array[] = $files; 
} 
foreach ($file_array as $files) { 
echo ""; 
if($files == ".." || $files == ".") { 
continue; 
} 
echo "
<table border=0>
<tr>
<td width=\"600\" style=\"border:solid 1px black\">"; 
echo "<a href=\"http://localhost/images/$files\" target=\"_blank\">$files</a> "; 
echo "</td><td style=\"border:solid 1px black\">"; 
echo "<a href=\"del.php?target=$files\">X</a>"; 
echo "</td>
</tr>
</table>"; 
$file = "./".$files; 
echo "<td width='10%'>"; 
echo "</td></tr>"; 
} 
?>

del.php
Код:
<?php 
$_GET['target'] = preg_replace('#(\\\|/)#', '', $_GET['target']); 
$del=$_GET['target']; 
if (eregi('/',$del)||$del='') 
{exit;} 

$filelocation="images/".$_GET['target']; 
if (!unlink ($filelocation)) { 
echo "Файлът не може да бъде изтрит!"; 
} 
else { 
echo "Файлът бе изтрит успешно"; 
exit; 
} 
?>

в index.php само промени това където съм писал: localhost/asd/ :?:
 
добре ама идеята е да се трие като се даде от админ менюто изтрии еди си кое, при дроп на записа да се трие изображението, защото по тоя начин както е в момента може да се изтрие изображение по погрешка, разбираш ли
 
embaka каза:
добре ама идеята е да се трие като се даде от админ менюто изтрии еди си кое, при дроп на записа да се трие изображението, защото по тоя начин както е в момента може да се изтрие изображение по погрешка, разбираш ли
Значи искаш и от mySQL да се трие така ли :roll:
 
виж файловете в админ. в менюто имам добави, редактирай и изтрий. когато дам изтрий балове примерно, ми излизат няколко радио бутона според зависи от това колко записа имам. като цъкна на тоя радио бутон от формата изпраща към файла drop_...php там няма проблем, записа се изтрива целия, но изображението от папката си стои, ей тва искам да го направя, като се затрие записа, автоматично да се изтрие и изображението от папката, защото по тоя начин остават изобрженията вътре и ми пълнят хостинга, а той все пак си има ограничения в MB
 
Код:
<?php 
include ("lock.php"); 
include ("blocks/bd.php"); 
$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 
$id = $_GET['id']; {
$mysql2 = mysql_query("SELECT * FROM balove WHERE id='$id'");
while($r = mysql_fetch_array($mysql2)) {
$snimka=$r['snimka'];
}
if ($result == 'true') {  
mysql_query("DELETE FROM `balove` WHERE `id`=$id"); 
unlink($snimka);
echo "Снимката е изтрита успешно!";
}
else {echo "<p>Статията Не е изтрита!</p>";} 
}        
else { 
echo "<p>Не сте избрали параметър за изтриване. Статията не може да бъде изтрита. Изберете някой от радиобутоните, за да изтриете желаната статия.</p>"; 
}    
?> 
          
             </td> 
      </tr> 
    </table></td> 
  </tr> 
 
<?  include ("blocks/footer.php");        ?> 
</table> 
</body> 
</html>

Ето така трябва да стане май...

Ако ли не ето ти прост код:
Код:
<?php
$id = $_GET['id'];
$mysql2 = mysql_query("SELECT * FROM pictures WHERE id='$id'");
while($r = mysql_fetch_array($mysql2)) {
$snimka=$r['snimka'];
}
$rang=$userinfo['rang'];
if ($rang == "3") {
mysql_query("DELETE FROM `pictures` WHERE `id`=$id"); 
unlink($snimka);
echo "Снимката е изтрита успешно!";
echo '<META HTTP-EQUIV="Refresh" CONTENT="1; URL=index.php"> '; 
}
?>
 
del_balove.php
Код:
<?php 
include ("lock.php");
include ("blocks/bd.php");
$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">
<p><strong>Изберете Бал за изтриване!        </strong></p>
<form action="drop_balove.php" method="post">
<? 
$result = mysql_query("SELECT id,title FROM balove");      
$myrow = mysql_fetch_array($result);
do 
{
printf ("<p><input name='id' type='radio' value='%s'><label> %s</label></p>",$myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
?>

<p> <input name="submit" type="submit" class="button" value="Изтрий !!!"></p>
</form>
</td>
</tr>
</table></td>
</tr>
  
<?  include ("blocks/footer.php");        ?>  
</table>
</body>
</html>

drop_balove.php
Код:
<?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'");
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>

тея са файловете за промяна, но пак не става така както си го дал, защото всичко е объркано и натикано в едно
 
За да изтриеш само снимката от папката съм ти дал код , но за да ги изтриеш и от базата , усвем с тоя код:

allpi.php
Код:
$db2=("SELECT * FROM pictures ORDER by id");
$result2=mysql_query($db2);
while ($r=mysql_fetch_array($result2))
{
$snimka=$r['snimka'];
$pid=$r['id'];
echo '   '.$snimka.'   ';
echo '<a href="delpic.php?id='.$pid.'">Изтрий</a>';
echo "<br></center>";
$i++;
}
if($i > 5)
{
echo"<br> ";$i = "0";
}

delpic.php
Код:
<?php 
$id = $_GET['id']; 
$mysql2 = mysql_query("SELECT * FROM pictures WHERE id='$id'"); 
while($r = mysql_fetch_array($mysql2)) { 
$snimka=$r['snimka']; 
} 
if ($result == 'false') { 
mysql_query("DELETE FROM `pictures` WHERE `id`=$id"); 
unlink($snimka); 
echo "Снимката е изтрита успешно!"; 
echo '<META HTTP-EQUIV="Refresh" CONTENT="1; URL=index.php"> '; 
} 
?>
Друг не се сещам...

При мен това работи...
 

Back
Горе