Eliminare immagine tramite php

SideSilent

Nuovo Utente
22 Giu 2013
20
0
0
Ciao a tutti, come saprete ho un hosting di immagini con una lista che ha la funzione di far vedere ciò che è caricato, in proposito volevo creare un pulsante sotto ogni immagine che richiami una script (che però prima di avviarla ti chieda la password amministrativa) che ha lo scopo di eliminare il file.


questa funzione mi è utile per togliere e far togliere dal mio staff immagini non consone ai nostri termini di utilizzo del servizio...

purtroppo io con il php sto alle basi e non sono in grado di farlo e in giro trovo solo script che eliminano tutto il contenuto della cartella e non un singolo elemento

quindi mi chiedevo se eravate disposti ad aiutarmi anche in questo...

questa è la script che fa apparire la lista delle immagini caricate nel server, nella directory uploads/ sencaso vi servisse per capire meglio

PHP:
<?
$cartella="uploads/";

chdir("./$cartella");

if(!($dp = opendir("./")))
	die("Non riesco a esplorare il contenuto");

while($file = readdir($dp))
{
	if(is_file($file))
		$lista[] = $file;
}
if($file!="." && $file!="..")

$alt="40";
$larg="40";
sort($lista);
?>
<script type="text/javascript" src="js/shortcut.js"></script>
<script type="text/javascript" src="js/anticopia.js"></script>
<link rel="stylesheet" href="css/style.css" type="text/css">
<div class="navbar"><a href="http://www.viridianforest.com/">Forum</a>&nbsp;&nbsp;&nbsp;<a href="lista.php">Lista Immagini</a>&nbsp;&nbsp;&nbsp;<a href="term.html">Termini di Utilizzo</a>&nbsp;&nbsp;&nbsp;<a href="contatti.html">Contattaci</a>&nbsp;&nbsp;&nbsp;<a href="segnala.html">Segnala Immagine</a>&nbsp;&nbsp;&nbsp;<a href="donazione.html">Donazione</a>&nbsp;&nbsp;&nbsp;<a href="aff.html">Affiliazione</a></div>


<script type="text/javascript">
function apri(url) {
newin = window.open(url,'titolo','scrollbars=no,resizable=yes, width=450,height=445,status=no,location=no,toolbar=no');
}
</script> 
<SCRIPT language="JavaScript">
<!--
function rollover(img_name,img_src)
{
	document[img_name].src = img_src;
}
// -->
</SCRIPT>
<strong><a href="index.php">Torna all'uploader</a></strong> <br>
  <script type="text/javascript">var message=""; function clickIE() {if (document.all) {(message); return false}} function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) {if (e.which==2||e.which==3) {(message); return false}}} if (document.layers) {document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS} else {document.onmouseup=clickNS; document.oncontextmenu=clickIE} document.oncontextmenu=new Function("return false")</script>
  <br />
  <table width="279" border="0" align="center">
    <tr>
      <td align="center"><h1>Lista Immagini</h1></td>
    </tr>
    <tr>
      <td align="center">Clicca sulla immagine per ingrandirla</td>
    </tr>
  </table>
<?
			foreach($lista as $index => $nome)
			{
			?>
<p class="apri"><a href="javascript:apri('<? echo $cartella; echo $nome; ?>');"><img src="<? echo $cartella; echo $nome; ?>" border="0" width="<?php echo $alt ?>" height="<?php echo $larg ?>"></a>
  
  
      <?
         }
         ?>
<div class="line-botton">
<a style="color: blue;" href="javascript:apri('/copyright.html')">© 2011-2013 Host pics.</a> Scritto da Silent. Skin by Silent.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L'infrazione del copyright sarà punita a norma di legge.</a>
</div>
 
Ultima modifica di un moderatore:
puoi utilizzare la funzione unlink("/cartella/file.gif");... chiaro che puoi anche scrivere una cosa simile

PHP:
<?PHP
$path="/dirfile/";

unlink($path.$_GET['file']);
?>

da qua puoi sbizzarrirti ... ciao fammi sapere se hai risolto
 
Ultima modifica di un moderatore:
mmm no... non riesco.... forse sbaglio quancosa io o non afferro il concetto....


praticamente sotto la immagine ho fatto cosi
PHP:
<p class="apri"><a href="javascript:apri('<? echo $cartella; echo $nome; ?>');"><img src="<? echo $cartella; echo $nome; ?>" border="0" width="<?php echo $alt ?>" height="<?php echo $larg ?>"></a>
<a onclick="unlink("uploads/'<? echo $nome; ?>'");">Elimina <? echo $nome; ?></a>
  </p>


ma non succede nulla
 
ciao
non sono un esperto di js ma unlink non mi sembra una istruzione js, è una istruzione php.
tra l'altro se funzionasse sarebbe un problema con un'istruzione lato client vado a toccare il server

p.s.
usa il tag <?php, no lo shorttag, inoltre termina con ; le istruzioni php
 
mmm no... non riesco.... forse sbaglio quancosa io o non afferro il concetto....


praticamente sotto la immagine ho fatto cosi
PHP:
<p class="apri"><a href="javascript:apri('<? echo $cartella; echo $nome; ?>');"><img src="<? echo $cartella; echo $nome; ?>" border="0" width="<?php echo $alt ?>" height="<?php echo $larg ?>"></a>
<a onclick="unlink("uploads/'<? echo $nome; ?>'");">Elimina <? echo $nome; ?></a>// unlink() e una funzione php 
  </p>


ma non succede nulla
unlink() è una funzione php non può funzionare lato client ma solo lato server... es <a onclick="unlink("http://tuoserver.com/pag.php?filecanc=/uploads/file.gif");">Elimina <? echo $nome; ?></a>

e in pag.php avrai <?PHP
unlink($_GET['filecanc']);
?>
se la path e il file sono giusti te lo cancella
 
Ultima modifica:
unlink() è una funzione php non può funzionare lato client ma solo lato server... es <a onclick="unlink("http://tuoserver.com/pag.php?filecanc=/uploads/file.gif");">Elimina <? echo $nome; ?></a>

e in pag.php avrai <?PHP
unlink($_GET['filecanc']);
?>
se la path e il file sono giusti te lo cancella
p.s. ho scritto un stupidata <a href="http://tuoserver.com/pag.php?filecanc=/uploads/file.gif">Elimina <? echo $nome; ?></a> unlink() va tolto così è corretto
 
e invece no... non capisco perché...

in lista sotto a ogni immagine o messo
PHP:
<a href="delete.php?filecanc=/uploads/<? echo $nome; ?>">Elimina</a>
o cambiato solo delete.php dato che pag.php la uso per un'altra cosa, ed file.gif con <? echo $nome; ?> in modo che mi dia il nome del file caricato dato che non è un file specifico ma può variare

o creato quindi un file php di nome delete.php con dentro
PHP:
<?PHP
unlink($_GET['filecanc']);
?>

ma non succede nulla lo stesso... se volete potete provare voi stessi da qui
 
delette.php la hai caricata nella root che contiene la cartella upload e dentro upload ci sono i file? Perchè mi sembra strano che sia disabilitata come funzione utilizzi altervista? Perchè se si la proverò anch'io non sta sera che sono di fretta. ciao fammi sapere.
 
allora sia lista.php che delete.php si trovano nella root... nella cartella uploads ci sono solo immagini

comunque si utilizzo Alervista, prima di acquistare un dominio vorrei sistemare bene tutto per poi crearmi un servizio vero e proprio
 
anch'io ho un server su altervista ho provato e me li cancella è sbaglianto qualcosa probabile in come stai scrivendo la path prova a scriverlo senza il primo slash delete.php?filecanc=uploads/file.gif e non delete.php?filecanc=/upload/file.gif. Ciao sappimi dire
 
ciao
se delete.php è nella root e la cartella uploads è una cartella della root hai messo uno slash in più
PHP:
<a href="delete.php?filecanc=uploads/<? echo $nome; ?>">Elimina</a>
 
anch'io ho un server su altervista ho provato e me li cancella è sbaglianto qualcosa probabile in come stai scrivendo la path prova a scriverlo senza il primo slash delete.php?filecanc=uploads/file.gif e non delete.php?filecanc=/upload/file.gif. Ciao sappimi dire


se è come ti hp detto io potrai anche scrivere:
<?PHP
$path="upload/";
?>
<a href="delete.php?filecanc=<? echo $.path.$nome; ?>">Elimina</a>

e gestire il settaggio di $_GET['filecanc'] dal php ciao fammi sapere
 

Discussioni simili