Dovrei eliminare un file ma del suddetto file ho a disposizione solo l'url. La funzione unlink non funziona naturalmente, esiste un modo?
Se no, come posso ricavare solo il nome del file in modo che poi il path glielo passo io?
Dovrei eliminare un file ma del suddetto file ho a disposizione solo l'url. La funzione unlink non funziona naturalmente, esiste un modo?
Se no, come posso ricavare solo il nome del file in modo che poi il path glielo passo io?
con basename http://it2.php.net/manual/it/function.basename.php ma dubito che puoi farlo da remoto, a meno che gli amministratori del server non siano pazzi, accedendo da remoto non puoi interagire direttamente sul filesystem.
L'unica cosa è farlo da script all'interno dello stesso filesystem, non certo in remoto, come tu stesso hai scoperto. Se no addio sicurezza, chiunque potrebbe cancellare qualsiasi cosa da qualsiasi server.
Ho creato un piccolo sistema di upload delle immagini. Ho a disposizione gli url (presi da un database) delle immagini. Se volessi eliminare fisicamente le immagini dal server cosa mi consigli di fare?
Scusa ma se le immagini sono fisicamente sul server, se no che upload è, allora devi semplicemente fare una pagina html in cui elenchi le immagini da cancellare, magari sottoforma di thumbnail; sotto ognuna ci metti un checkbox e alla fine un tasto di invio.
All'invio controlli quali dei checkbox sono attivi e fai unlink sul file a cui il check punta.
Ma la pagina di eliminazione deve stare sul server su cui stanno pure le immagini non in remoto o non funziona.
E' naturale che la pagina di eliminazione e le immagini siano sullo stesso server. Quello a cui mi riferivo io è: quando clicco sulla X io posso passare al massimo l'url dell'immagine, come passo il nome del file?Originariamente inviato da Marcolino's
Scusa ma se le immagini sono fisicamente sul server, se no che upload è, allora devi semplicemente fare una pagina html in cui elenchi le immagini da cancellare, magari sottoforma di thumbnail; sotto ognuna ci metti un checkbox e alla fine un tasto di invio.
All'invio controlli quali dei checkbox sono attivi e fai unlink sul file a cui il check punta.
Ma la pagina di eliminazione deve stare sul server su cui stanno pure le immagini non in remoto o non funziona.
Riguardati il mio primo intervento, quello in cui ti do il riferimento per basename.
Comunque non ti seguo molto nel tuo ragionamento, se le immagini sono caricate sul server, basta fare uno scandir all'interno della cartella dove stanno fisicamente per avere i loro nomi (o altro sistema di scanning della directory se non hai php5).
Ti espongo tutti gli elementi e poi mi darai conferma su come agire:
Sistema di upload di file. Carica un'immagine che finisce nel server in una directory. Sul database abbiamo i dati relativi all'ID e all'url dell'immagine (http://www.miosito.it/images/uploads/nomeimmagine.jpg). Ho provato la funzione unlink passandogli l'url ma non funziona perchè richiede il path del server all'immagine. Come faccio quindi a estrapolare dall'url il nome dell'immagine? Da quanto ho capito anche basename funziona solo con i path e non con gli url.