web-dev-qa-db-fra.com

media_handle_upload pour les fichiers locaux?

Je crée une image sur le serveur et la stocke dans un dossier tmp. Je voudrais exécuter un fichier php qui prend cette image, la stocke dans la structure de répertoires de média par défaut et la joint à un message tout en créant les vignettes appropriées media_handle_upload semble nécessiter une demande de téléchargement POST avec laquelle travailler. Est-il possible de le faire fonctionner sur une image locale dans un contexte non-POST? Merci.

3
Diego

Vous voulez media_handle_sideload()

Media_handle_upload () gère un fichier chargé latéralement de la même manière qu'un fichier téléchargé.

// Array similar to a $_FILES upload array.
$file_array = array(
    'name'     => 'filename.jpg',
    'tmp_name' => 'path/to/filename.jpg',
);

// Post ID to attach upload to, 0 for none.
$post_id = 0; 

$attachment_id = media_handle_sideload( $file_array, $post_id );
2
Jacob Peattie