Загрузка с url вместо input type="file" (Wordpress)

Nasib

Новичок
Загрузка с url вместо input type="file" (Wordpress)

В коде Wordpress есть вот такое:

function wp_import_upload_form( $action ) {
$bytes = apply_filters( 'import_upload_size_limit', wp_max_upload_size() );
$size = wp_convert_bytes_to_hr( $bytes );
$upload_dir = wp_upload_dir();
if ( ! empty( $upload_dir['error'] ) ) :
?><div class="error"><p><?php _e('Before you can upload your import file, you will need to fix the following error:'); ?></p>
<p><strong><?php echo $upload_dir['error']; ?></strong></p></div><?php
else :
?>
<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php echo esc_attr($action) ?>">
<p>
<?php wp_nonce_field('import-upload'); ?>
<label for="upload"><?php _e( 'Choose a file from your computer:' ); ?></label> (<?php printf( __('Maximum size: %s' ), $size ); ?>)
<input type="file" id="upload" name="import" size="25" />
<input type="hidden" name="action" value="save" />
<input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" />
</p>
<p class="submit">
<input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import' ); ?>" />
</p>
</form>
<?php
endif;
}
Он выводит поле для загрузки файла. Как можно сделать так чтобы загрузка шла через url? Т.е. не указывать файл с локального компьютера с помощью кнопки "обзор" а ввести ссылку на файл в виде http://.

Если это не реализуемо можно ли сделать хотя бы так чтобы не грузить файл через форму а выбрать из списка который отображает файлы в определенной директории на сервере?

По моему это строчку как-то нужно изменить:

<input type="file" id="upload" name="import" size="25" />

Заранее огромное спасибо!
 

Фанат

oncle terrible
Команда форума
ли сделать хотя бы так чтобы не грузить файл через форму а выбрать из списка который отображает файлы в определенной директории на сервере
непонятно, что имеется в виду под сервером.
если тот же самый, на котором и форма, то можно. прочитать и вывести.
толкьо непонятно, как это может заменить input type="file" и загрузку с локального компьютера
 

x00xer

Новичок
http://forum.webmasterschool.ru/index.php?action=showTheme&idForum=1&id_theme=117
http://forum.searchengines.ru/showthread.php?t=273964
http://web-accent.com/curl-otpravka-fajla-na-server-metodom-post.html
первые строчки их гугла. та все это есть.
 

Nasib

Новичок
Автор оригинала: *****
непонятно, что имеется в виду под сервером.
если тот же самый, на котором и форма, то можно. прочитать и вывести.
толкьо непонятно, как это может заменить input type="file" и загрузку с локального компьютера
Сервер имеется ввиду тот же самый. Вместо загрузки с локального компьютера мне нужно или качать с url или если это не возможно то выбрать файл из определенной папки сервера. Этот код является частью и именно эту функцию нужно заточить под себя.
 

Фанат

oncle terrible
Команда форума
вообще стандартный функционал вордпресса предлагает и то и другое.
 

Nasib

Новичок
Автор оригинала: *****
вообще стандартный функционал вордпресса предлагает и то и другое.
Для импорта постов и комментариев (экспортного файла xml) он предлагает только аплоад с копма. И именно функцией которого я привел выше. Как я понял копать в сторону curl?
 

Nasib

Новичок
А нельзя ли оставить такую же структуру? То есть форма с пост, только вместо input type="file" прописать что то чтобы шла загрузка с удаленного сервера? Я нюб в php, пожалуйста объясните что да как.
 

Фанат

oncle terrible
Команда форума
чтобы только в форме прописать,а в коде не строгать?
нет
 

Nasib

Новичок
function wp_import_upload_form - название всго этого кода, т.е. функция для аплоада которая вызывается в нужном месте. Код который я здесь привожу находится не посредственно внутри кода а это часть которая вызывается как бы с файла где хранятся такие шаблоны, функции для вывода.

function wp_import_upload_form( $action ) { ---- назвние всей функции и &action которого здесь нет, он есть там куда выводится вся эта функция
$bytes = apply_filters( 'import_upload_size_limit', wp_max_upload_size() ); --- лимит на аплоад хостера
$size = wp_convert_bytes_to_hr( $bytes );
$upload_dir = wp_upload_dir(); --- определяет папку для аплоада которая задается в админке
if ( ! empty( $upload_dir['error'] ) ) : --- еррор если нету папки
?><div class="error"><p><?php _e('Before you can upload your import file, you will need to fix the following error:'); ?></p>
<p><strong><?php echo $upload_dir['error']; ?></strong></p></div><?php
else :
?>
<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php echo esc_attr($action) ?>">
<p>
<?php wp_nonce_field('import-upload'); ?>
<label for="upload"><?php _e( 'Choose a file from your computer:' ); ?></label> (<?php printf( __('Maximum size: %s' ), $size ); ?> )
<input type="file" id="upload" name="import" size="25" />
<input type="hidden" name="action" value="save" />
<input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" />
</p>
<p class="submit">
<input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import' ); ?>" />
</p>
</form>
<?php
endif;
}

Т.е. все что здесь непонятно трогать не надо или вообще не нужно в данном случае, главное это форма:

<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php echo esc_attr($action) ?>">
<p>
<?php wp_nonce_field('import-upload'); ?>
<label for="upload"><?php _e( 'Choose a file from your computer:' ); ?></label> (<?php printf( __('Maximum size: %s' ), $size ); ?> )
<input type="file" id="upload" name="import" size="25" />
<input type="hidden" name="action" value="save" />
<input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" />
</p>
<p class="submit">
<input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import' ); ?>" />
</p>
</form>

Думаю здесь все понятно. В чем была моя идея - не меняя

<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php echo esc_attr($action) ?>">
и
<p class="submit">
<input type="submit" class="button" value="<?php esc_attr_e( 'Upload file and import' ); ?>" />

Поколдовать над

<p>
<?php wp_nonce_field('import-upload'); ?>
<label for="upload"><?php _e( 'Choose a file from your computer:' ); ?></label> (<?php printf( __('Maximum size: %s' ), $size ); ?> )
<input type="file" id="upload" name="import" size="25" />
<input type="hidden" name="action" value="save" />
<input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" />
</p>

чтобы она выводила не форму аплоада с компа а даунлоада с урл или просто список в котором нужно выбрать файл с определенной директории на сервере (в которую заранее залит нужный файл средствами фтп).

Возможно все что я написал это бред так как я ноль в программировании.
 

Фанат

oncle terrible
Команда форума
слушай, а чем тебя не устраивает через форму-то заливать?
 
Сверху