I would love a way to "upload" from the web. If I want to load an image from some other web site, I first have to download it locally and then upload it through IMCE. It'd be great if we could just give IMCE a url and it would curl or wget the image itself.


ALexeyAL1’s picture

Very useful function, I hope probably it to realise.

ufku’s picture

Status:Active» Closed (won't fix)

Closing 6.x-1.x issues as this branch is no more supported.

aaronbauman’s picture

Version:6.x-1.x-dev» 7.x-1.x-dev
Issue summary:View changes
Status:Closed (won't fix)» Active

This would still be a useful feature.

marcus7777’s picture

I'm working on this too:

This code gets all the images from a dropbox shared folder

Needs work and moving in to ops-list in IMCE. I love some help.

I'm looking for a good way/place to put it

function get_images_from_url_node_validate($node, $form, &$form_state) {
        if (isset(
$node->field_get_image_from['und'][0]['value'])) {
$url =$node->field_get_image_from['und'][0]['value'] ;
                if (
filter_var($url, FILTER_VALIDATE_URL)) {
                        if (
$wrapper = file_stream_wrapper_get_instance_by_uri('public://')) {
$realpath = $wrapper->realpath();
                        if (isset(
$node->title_field['und'][0]['value'])) {
$path = $node->type.'/'.$node->title_field['und'][0]['value'].'/';
                        } else {
$path = $node->type.'/';
$html = file_get_contents($url);
//Create a new DOM document
$dom = new DOMDocument;

//Parse the HTML. The @ is used to suppress any parsing errors
                        //that will be thrown if the $html string isn't valid XHTML.

//Get all links. You could also use any other tag name here,
                        //like 'img' or 'table', to extract other tags.
$links = $dom->getElementsByTagName('a');
//Iterate over the extracted links and display their URLs
$jpgs = Array();
                        foreach (
$links as $link){
//Extract "href" attribute.
                                //filter jpg and uniq
if (preg_match("/jpg/i", $link->getAttribute('href'))) {
$jpgs [$link->getAttribute('href')] = $link->getAttribute('href');
$img = 0;
                        foreach (
$jpgs as $jpg) {
//make folder

@mkdir($structure, 0766, true);
//copy file
                                //file_put_contents($structure . ++$img . ".jpg", file_get_contents($jpg));
$ch = curl_init($jpg .'?dl=1');
$fp = fopen($structure . ++$img . "-bf.jpg", 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");

drupal_set_message('Uploaded '.$img .' images to '. $path );