Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Стол заказов » Как сделать загрузку изображений по url с сохранением на сервер?

Как сделать загрузку изображений по url с сохранением на сервер?


 Korobasow    22.07.2013    upload, url upload, загрузка файлов    Стол заказов    3529    5 комментариев

Всем привет!

На сайте имеется парсер контента в отдельном файле!
(оба сайта мои, просто делается это для раскрутки второго проекта).

Всё работает отлично, но единственный минус, изображения тянутся с сайта донора, т.е ко мне на сервер оно не сохраняется.

Код:
$fotootchet = '';
        if ($this->images) {
          foreach($this->images as $image) {
              $fotootchet .= '<!--TBegin:' . $image['big'] . '&#124;-->';
              $fotootchet .= '<a href="' . $image['big'] . '" onclick="return hs.expand(this)" >';
              $fotootchet .= '<img src="' . $image['small'] . '" alt="' . $title . '" title="' . $title .'"  >';
              $fotootchet .= '</a>';

              $fotootchet .= '<!--TEnd-->';

          }
        }


$image['big'] - это url большого изображения.
$image['small'] - это url соответственно маленького изображения (превьюшки).

В фале парсера нужно дописать загрузку по url с удалённого сервера.

Функция загрузки должна срабатывать так же как и при добавлении изображений в новость по url, а именно:
Писать в базу всё необходимое, что бы при удалении поста в последующем удалялись и изображения из папки.
Наложение вотемарка.
Обрезка изображения с одной стороны, снизу на определенное расстояние! (это будет дописная функция, такой в dle нет по-моему).

Знающим, работы на 2-3 часа!
За ранее благодарю!
Готов заплатить, если кто возьмётся сделать!
Пример работы парсера на сайте http://www.на-живца.рф/ в категории "ОТЧЁТЫ О РЫБАЛКЕ"

5 комментариев

pavel31
Юзер

pavel31 - 23 июля 2013 18:58 -

У меня в модуле сделано так:
PHP:

    $tpl->load_template('music/amusic.tpl');
    $tpl->set('{name}', "");
    $tpl->set('{ssilka}', "");
    $tpl->set('{title}', "Добавление трека");
    $tpl->compile('content');
    if ($_POST['savemusic']) {
        $title = $_POST['title'];
        $ssilka = $_POST['ssilka'];
        if (!$title) exit('Поле Название трека является обязательным к заполнению');
        if (!$ssilka) exit('Поле Ссылка на трек является обязательным к заполнению');
        $row = $db->super_query("SELECT name FROM " . PREFIX . "_music WHERE name = '{$title}'");
        if ($row['name']) exit('Трек с названием '.$row['name'].' уже существует');
        $ssilka = preg_split('((>)|(<))', $ssilka, - 1, PREG_SPLIT_DELIM_CAPTURE);
        $n = count($ssilka);
        for ($i = 0; $i < $n; $i++) {
            if ($ssilka[$i] == "<") {
                $i++;
                continue;
            }
            $ssilka[$i] = preg_replace("#([^snr]{" . intval(50) . "})#i", "\1", $ssilka[$i]);
        }
        $ssilka = join("", $ssilka);
        $db->query("INSERT INTO " . PREFIX . "_music SET name = '".$title."', onserver = '".$ssilka."', autor = '".$member_id['name']."', date = '".$_TIME."'");
        $db->close();
    }


Шаблон:

Шаблон:

<form method="post" name="add" id="add" action="" enctype="multipart/form-data">
    <div class="base">
        <div class="heading3"><h1>{title}</h1></div>
        <div class="maincont">
            <table class="tableform">
                <tr>
                    <td class="label">Название трека:</td>
                    <td><input type="text" name="title" value="{name}" maxlength="200" size="49" /></td>
                </tr>
                <tr>
                    <td class="label">Ссылка на трек:</td>
                    <td><input type="text" name="ssilka" value="{ssilka}" maxlength="200" size="49" /></td>
                </tr>
                <tr>
                    <td class="label"></td>
                    <td><input name="savemusic" type="submit" class="zp-button" value="Сохранить" /></td>
                </tr>
            </table>
        </div>
        <div class="clr"></div>
    </div>
</form>


думаю переделать его под загрузку рисунков труда не составит :) принцип то один.

Korobasow
Юзер

Korobasow - 23 июля 2013 21:48 -

Это не то!

pavel31
Юзер

pavel31 - 23 июля 2013 21:57 -

Почему? подключить thumb.class.php да и все дела :)

Korobasow
Юзер

Korobasow - 25 июля 2013 23:56 -

может сделаете за определенное количество деревянных?

dj-avtosh
PHP-developer

dj-avtosh - 23 июля 2013 23:33 -

ssilka - почитай в лурке по поводу таких названий

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх