Удаленная загрузка файлов phpBB
Я хочу иметь возможность загружать удаленный файл на свой сервер через phpbb без предварительной загрузки файла на мой компьютер. Как этого можно достичь?
У меня есть простой код, который я протестировал, и он выполняет свою работу, но где я могу его разместить и что мне нужно изменить в phpBB?
<form method="post">
<input name="url" size="50"/>
<input name="submit" type="submit"/>
</form>
<?php
// maximum execution time in seconds
set_time_limit(24 * 60 * 60);
if (!isset($_POST['submit'])) die();
// folder to save downloaded files to. must end with slash
$destination_folder = 'mydownloads/';
$url = $_POST['url'];
$newfname = $destination_folder . basename($url);
//Open remote file
$file = fopen($url, "rb");
if ($file) {
//Write to local file
$newf = fopen($newfname, "wb");
if ($newf) {
while (!feof($file)) {
fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
}
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
?>
Или можно ли подключиться к функции удаленного аватара в phpBB (т. Е. includes/functions_upload.php ->функция remote_upload($upload_url))? Мне, конечно, нужно, чтобы удаленный файл был отправляется через обычные функции phpBB для вставки в БД и все такое.
1 answers
Открыть файл includes/message_parser.php
Найти информацию о строке 1373
$upload_file = (isset($_FILES[$form_name]) && $_FILES[$form_name]['name'] != 'none' && trim($_FILES[$form_name]['name'])) ? true : false;
И заменить на
$upload_file = (isset($_FILES[$form_name]) && $_FILES[$form_name]['name'] != 'none' && trim($_FILES[$form_name]['name'])) ? true : (!empty($_POST['urlupload'])) ? true : false;
Открыть файл includes/functions_posting.php
Найти информацию о строке 414
$file = ($local) ? $upload->local_upload($local_storage, $local_filedata) : $upload->form_upload($form_name);
Заменить на
$file = ($local) ? $upload->local_upload($local_storage, $local_filedata) : (!empty($_POST['urlupload'])) ? $upload->remote_upload($_POST['urlupload']) : $upload->form_upload($form_name);
Открыть styles/your_style/templates/posting_attach_body.html
Найти
<dl>
<dt><label for="fileupload">{L_FILENAME}:</label></dt>
<dd>
<input type="file" name="fileupload" id="fileupload" maxlength="{FILESIZE}" value="" class="inputbox autowidth" />
<input type="submit" name="add_file" value="{L_ADD_FILE}" class="button2" onclick="upload = true;" />
</dd>
</dl>
Добавить после
<dl>
<dt><label for="urlupload">Remote File:</label></dt>
<dd>
<input type="url" name="urlupload" id="urlupload" maxlength="{FILESIZE}" value="" class="inputbox autowidth" />
<input type="submit" name="add_file" value="{L_ADD_FILE}" class="button2" onclick="upload = true;" />
</dd>
</dl>
Дайте мне знать, хотите ли вы, чтобы я создал мод для вас, чтобы установить его с помощью automod, или если вам нужны дополнительные типы mime с функция удаленной загрузки
Проверено @http:/www.damienkeitel.com