Image télécharger depuis l'URL

19

J'aime beaucoup la façon dont SE télécharge une image à partir d'une URL (je suis sûr que beaucoup le font!). Je cherche, mais je ne trouve pas, existe-t-il un plugin ou une méthode similaire à celle disponible pour WordPress?

Je sais qu'une image peut être importés et compressés directement à partir d'une URL en entrant l'URL de l'image dans la zone Nom du fichier après avoir cliqué sur Télécharger / Insérer un média > > De l'ordinateur > > Choisissez Fichier

C’estunefonctionnalitéintéressante,maispastrèsconnue(jeviensdeladécouvrir).JevoudraisquelquechoseunpeupluscommeSE,oùilexisteuneoptionquipermetàl'utilisateurdesavoirajouterl'URLdel'image.

Commentpuis-jeajoutersimplementlechampdefichierdetéléchargementàunnouvelongletdel'éditeurdecontenumultimédia?

Voiciuntutorielpour Comment ajouter un nouvel onglet à la page de téléchargement de média dans wordpress , mais je souhaite ajouter seulement du texte et le champ de téléchargement de fichier dans cet onglet. Des idées? Je n'ai rien trouvé dans le codex WordPress qui traite directement de cette fonctionnalité ou du champ de téléchargement de fichier.

Merci.

    
posée Travis Pflanz 24.04.2012 - 22:55

4 réponses

5

Répertoire de plugins WordPress - Grab & Enregistrer

  

Ce plugin vous permet de récupérer une image depuis une URL distante et de l’enregistrer dans votre   propre médiathèque wordpress. Ce faisant, vous ne vous êtes jamais inquiété si le   l'image distante a été supprimée par son propriétaire. Cela vous évite aussi des étapes pour   téléchargez l'image sur l'ordinateur local et chargez-la à nouveau   wordpress.

     

Après avoir saisi l'image, wordpress vous invitera à "insérer   dans "ou" modifier les attributs "comme après l'envoi d'une image.

    
réponse donnée Travis Pflanz 02.05.2012 - 08:48
20

vous pouvez écrire un script php ou créer votre propre plugin avec ce code ici, je l’ai utilisé dans un de mes projets où je devais importer un grand nombre d’images.

d'abord, récupérez l'image et stockez-la dans votre répertoire de téléchargement:

$uploaddir = wp_upload_dir();
$uploadfile = $uploaddir['path'] . '/' . $filename;

$contents= file_get_contents('http://mydomain.com/folder/image.jpg');
$savefile = fopen($uploadfile, 'w');
fwrite($savefile, $contents);
fclose($savefile);

après cela, nous pouvons insérer l'image dans la médiathèque:

$wp_filetype = wp_check_filetype(basename($filename), null );

$attachment = array(
    'post_mime_type' => $wp_filetype['type'],
    'post_title' => $filename,
    'post_content' => '',
    'post_status' => 'inherit'
);

$attach_id = wp_insert_attachment( $attachment, $uploadfile );

$imagenew = get_post( $attach_id );
$fullsizepath = get_attached_file( $imagenew->ID );
$attach_data = wp_generate_attachment_metadata( $attach_id, $fullsizepath );
wp_update_attachment_metadata( $attach_id, $attach_data );

et voila - c'est parti. vous pouvez également définir divers autres paramètres dans le tableau de pièces jointes. Si vous avez un tableau d'URL ou quelque chose comme ça, vous pouvez exécuter le script en boucle, mais sachez que les fonctions d'image prennent beaucoup de temps et de mémoire pour s'exécuter.

    
réponse donnée fischi 30.04.2012 - 18:42
9

Vous pouvez utiliser les fonctions download_url() et wp_handle_sideload() .

download_url()

  

Télécharge une URL dans un fichier temporaire local à l'aide de la classe HTTP WordPress. Veuillez noter que la fonction appelante doit dissocier () le fichier.

wp_handle_sideload()

  

Traitez les chargements latéraux, processus qui consiste à récupérer un élément multimédia d'un autre serveur au lieu d'un téléchargement de média traditionnel. Ce processus implique la désinfection du nom de fichier, la vérification du type mime des extensions et le déplacement du fichier dans le répertoire approprié du répertoire de téléchargement.

Exemple:

// Gives us access to the download_url() and wp_handle_sideload() functions
require_once( ABSPATH . 'wp-admin/includes/file.php' );

// URL to the WordPress logo
$url = 'http://s.w.org/style/images/wp-header-logo.png';
$timeout_seconds = 5;

// Download file to temp dir
$temp_file = download_url( $url, $timeout_seconds );

if ( !is_wp_error( $temp_file ) ) {

    // Array based on $_FILE as seen in PHP file uploads
    $file = array(
        'name'     => basename($url), // ex: wp-header-logo.png
        'type'     => 'image/png',
        'tmp_name' => $temp_file,
        'error'    => 0,
        'size'     => filesize($temp_file),
    );

    $overrides = array(
        // Tells WordPress to not look for the POST form
        // fields that would normally be present as
        // we downloaded the file from a remote server, so there
        // will be no form fields
        // Default is true
        'test_form' => false,

        // Setting this to false lets WordPress allow empty files, not recommended
        // Default is true
        'test_size' => true,
    );

    // Move the temporary file into the uploads directory
    $results = wp_handle_sideload( $file, $overrides );

    if ( !empty( $results['error'] ) ) {
        // Insert any error handling here
    } else {

        $filename  = $results['file']; // Full path to the file
        $local_url = $results['url'];  // URL to the file in the uploads dir
        $type      = $results['type']; // MIME type of the file

        // Perform any actions here based in the above results
    }

}
    
réponse donnée Rajilesh Panoli 06.01.2017 - 08:15
1

Il existe au moins trois méthodes pour importer des images distantes dans WordPress:

  1. Plugin Grab and Save , qui est mentionné dans l'autre réponse. Ce plug-in est un peu plus ancien et il enregistre directement le fichier. Par conséquent, des vignettes de tailles différentes ne sont pas créées. Dernière mise à jour il y a plus de 2 ans au moment de la rédaction.

  2. Importer un plug-in d'image externe a une importation en bloc pour les images liées distantes. Vous devrez peut-être augmenter votre limite de mémoire PHP pour que cela fonctionne. Dernière mise à jour il y a plus de 2 ans au moment de la rédaction.

  3. Save & Importer une image à partir du plug-in d'URL importe l'image à l'aide de fonctions natives. Elle est donc correctement créée dans la médiathèque et toutes les vignettes, etc., sont créées. Ce plugin a été mis à jour pour la dernière fois en 2016 et fonctionne avec WordPress 4.7

Divulgation: j'ai créé le fichier Save & Importer une image depuis un plugin d'URL

    
réponse donnée user3096626 12.12.2016 - 10:32

Lire d'autres questions sur les étiquettes