it-swarm.com.de

Bildupload von URL

Ich mag die Art und Weise, wie SE ein Bild von einer URL hochlädt (ich bin sicher, dass viele es tun!). Ich habe gesucht, kann aber nicht finden. Gibt es ein Plugin oder eine ähnliche Methode für WordPress?

Ich weiß, dass ein Bild direkt von einer URL hochgeladen und zerkleinert werden kann, indem Sie die Bild-URL in das Feld Dateiname eingeben, nachdem Sie auf Upload/Insert Media >> From Computer >> Choose File geklickt haben

enter image description here

Dies ist ein großartiges Feature, aber nicht sehr bekannt (ich habe es gerade erst entdeckt). Ich hätte gerne etwas Ähnliches wie SE, wo es eine Option gibt, mit der der Benutzer die Bild-URL hinzufügen kann.

Wie kann ich vorgehen, um einfach das Feld für die Upload-Datei zu einer neuen Registerkarte im Medien-Uploader hinzuzufügen?

Hier ist ein Tutorial für Hinzufügen eines neuen Tabs auf der Seite zum Hochladen von Medien in WordPress , aber ich möchte diesem Tab nur Text und das Feld zum Hochladen von Dateien hinzufügen. Irgendwelche Ideen? Ich konnte im WordPress-Codex nichts finden, das sich direkt mit dieser Funktion oder dem Feld zum Hochladen von Dateien befasst.

Vielen Dank.

20
Travis Pflanz

WordPress Plugin Verzeichnis - Grab & Save

Mit diesem Plugin können Sie Bilder von einer Remote-URL abrufen und in Ihrer eigenen WordPress-Medienbibliothek speichern. Auf diese Weise haben Sie sich keine Sorgen mehr gemacht, wenn das Remote-Image vom Eigentümer entfernt wurde. Dies erspart Ihnen auch die Schritte zum Herunterladen des Bildes auf den lokalen Computer und zum erneuten Hochladen auf Ihr eigenes WordPress.

Nachdem Sie das Bild aufgenommen haben, werden Sie von WordPress aufgefordert, entweder "in den Beitrag einzufügen" oder "Attribute zu ändern", genau wie nach dem Hochladen eines Bildes.

5
Travis Pflanz

sie können hier ein PHP-Skript schreiben oder Ihr eigenes Plugin für diesen Code erstellen. Ich habe es in einem meiner Projekte verwendet, in das ich eine große Anzahl von Bildern importieren musste.

holen Sie sich zuerst das Bild und speichern Sie es in Ihrem Upload-Verzeichnis:

$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);

danach können wir das Bild in die Medienbibliothek einfügen:

$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 );

und voila - los geht's Sie können auch verschiedene andere Parameter im Anhangsarray festlegen. Wenn Sie eine Reihe von URLs oder ähnliches haben, können Sie das Skript in einer Schleife ausführen. Beachten Sie jedoch, dass die Ausführung der Bildfunktionen viel Zeit und Speicherplatz in Anspruch nimmt.

22
fischi

Sie können die Funktionen download_url() und wp_handle_sideload() verwenden.

download_url()

Lädt eine URL in eine lokale temporäre Datei mithilfe der WordPress-HTTP-Klasse herunter. Bitte beachten Sie, dass die aufrufende Funktion die Verknüpfung () der Datei aufheben muss.

wp_handle_sideload()

Behandeln Sie Seitenladevorgänge. Hierbei handelt es sich um das Abrufen eines Medienelements von einem anderen Server anstelle eines herkömmlichen Medienuploads. Bei diesem Vorgang wird der Dateiname bereinigt, die Erweiterungen auf MIME-Typ überprüft und die Datei in das entsprechende Verzeichnis im Upload-Verzeichnis verschoben.

Beispiel:

// 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
    }

}
11
Rajilesh Panoli

Es gibt mindestens drei Möglichkeiten, Remote-Bilder in WordPress zu importieren:

  1. Grab and Save Plugin , das in der anderen Antwort erwähnt wird. Dieses Plug-In ist etwas älter und speichert die Datei direkt, sodass keine Miniaturansichten in verschiedenen Größen erstellt werden. Letzte Aktualisierung vor mehr als 2 Jahren zum Zeitpunkt des Schreibens.

  2. Externes Bild-Plugin importieren hat Bulk-Import für remote verknüpfte Bilder. Möglicherweise müssen Sie das Speicherlimit für PHP erhöhen, damit dies funktioniert. Letzte Aktualisierung vor mehr als 2 Jahren zum Zeitpunkt des Schreibens.

  3. Bild von URL-Plugin speichern und importieren importiert das Bild mit nativen Funktionen, damit es ordnungsgemäß in der Mediengalerie erstellt wird und alle Miniaturansichten usw. erstellt werden. Dieses Plugin wurde zuletzt im Jahr 2016 aktualisiert und funktioniert mit WordPress 4.7

Offenlegung: Ich habe das Save & Import Image from URL Plugin erstellt.

1
user3096626