Eliminare un file caricato in WordPress

4 nov 2011, 04:31:16
Visualizzazioni: 14.1K
Voti: 3

Ho una funzione wp_handle_upload() per caricare i file.

$file = $_FILES['attachment_icon-' . $i];
$upload = wp_handle_upload($file, array('test_form' => false));

Qual è la funzione per eliminare un file caricato?

0
Tutte le risposte alla domanda 2
2

Utilizza wp_delete_attachment( $post_id ) se hai precedentemente usato wp_insert_attachment().
$post_id è l'ID dell'allegato.

Se non hai utilizzato wp_insert_attachment(), un semplice …

unlink( $upload['file'] );

… sarà sufficiente.

8 gen 2012 23:38:14
Commenti

wp_delete_attachment non rimuove il file se non è stato aggiunto tramite wp_handle_upload. È stato aggiunto utilizzando wp_insert_attachment, ma era stato caricato precedentemente tramite file_put_contents (file ricevuto in base64). Dovrei semplicemente usare unlink? Ma in questo caso le relazioni nel database rimarranno per i vecchi file?

trainoasis trainoasis
16 nov 2015 10:38:38

Nel mio caso verifico che il file venga effettivamente rimosso dal file system ma un riferimento al file rimane nell'elenco della libreria multimediale. Per favore leggi questa domanda al riguardo https://wordpress.stackexchange.com/questions/321595/why-after-a-file-is-programmatically-deleted-is-there-still-a-reference-in-the

user615274 user615274
11 dic 2018 01:27:01
1

non esiste una funzione specifica di WP, semplicemente perché ne hai già una in PHP, con la seguente sintassi:

    <?php
    $filename="MyFile.txt" // Nome del file da eliminare
    unlink($filename); // Funzione PHP per eliminare il file
    ?>

per la documentazione completa consulta il manuale PHP:

http://php.net/manual/en/function.unlink.php

8 gen 2012 11:19:16
Commenti

Questo lascerebbe voci morte nel database se è già registrato.

fuxia fuxia
8 gen 2012 23:33:45