X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Загрузка файлов на сервер посредством URL, нужна помощь
asusa3a
asusa3a
Topic Starter сообщение 28.1.2014, 13:33; Ответить: asusa3a
Сообщение #1


Всем добрый день.
Вот озадачился массовой загрузкой фалов на сервер, где источником файла выступает ссылка на сторонний источник.
Что бы было понятнее - мне надо на свой сервер закачать файл находящийся по ссылке http://сайтюкг/трамтрам.flv

Форма загрузки вот
<form action="upload_url.php" method="post" enctype="multipart/form-data">

<input type="text" class="url" size="50" name="userfile0" /><br />
<input type="text" class="url" size="50" name="userfile1" /><br />
<input type="text" class="url" size="50" name="userfile2" /><br />
<input type="text" class="url" size="50" name="userfile3" /><br />
<input type="text" class="url" size="50" name="userfile4" /><br />
<input type="text" class="url" size="50" name="userfile5" /><br />
<input type="text" class="url" size="50" name="userfile6" /><br />
<input type="text" class="url" size="50" name="userfile7" /><br />
<input type="text" class="url" size="50" name="userfile8" /><br />
<input type="text" class="url" size="50" name="userfile9" /><br />

<input type="reset" value="Отменить"> <input type="submit" value="Загрузить">

</form>


Сам php вот

<?php

$tempfile=$_FILES['userfile']['tmp_name']; // имя временного файла
if (is_uploaded_file($tempfile)){
    if (!copy($tempfile,"./images/".$_FILES['userfile']['name'])){
        echo "Не удалось скопировать файл";
    } else {
        echo "Файл {$_FILES['userfile']['name']}
        ({$_FILES['userfile']['size']}байт) загружен успешно";
    }
} else if (!empty($_FILES['userfile']['name'])){
    echo "Не удалось загрузить файл {$_FILES['userfile']['name']}";
}

?>


Но что то он не работает. Я не силён в этом деле и поэтому прошу Вашей помощи.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 28.1.2014, 13:37; Ответить: fioru
Сообщение #2


У вас нет userfile формы... как Вы его можете в PHP получить?

Ну и не забывайте выставить права на папку загрузки

Сообщение отредактировал fioru - 28.1.2014, 13:38
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asusa3a
asusa3a
Topic Starter сообщение 28.1.2014, 13:41; Ответить: asusa3a
Сообщение #3


Говорю же, что не разбираюсь в этом. Перерыл кучу вариантов в интернете, пробы на сервере ничего не дали. Понимаю, что тут всё просто, но для меня сложно))) Можно подробнее...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 28.1.2014, 13:45; Ответить: fioru
Сообщение #4


Вы передаете userfile0 userfile1 ... userfile9, а принимаете userfile
У вас вообще 10 файлов подается на загрузку, а обрабатываете 1
Проще говоря
замените свои userfile0 userfile1 ... userfile9 на userfile_array[]
а в php весь свой код вставьте в цикл
while (list($key, $userfile) = each($userfile_array)) {
    ...
}

И до всего этого надо принять $_POST переменную кодом примерно так:
$userfile_array = $_POST['userfile_array'];


P.S. С $_FILES надо немного по другому, так может и не сработает

Сообщение отредактировал fioru - 28.1.2014, 13:49
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asusa3a
asusa3a
Topic Starter сообщение 28.1.2014, 13:55; Ответить: asusa3a
Сообщение #5


<form action="up_url.php" method="post" enctype="multipart/form-data">
<input type="text" class="url" size="50" name="userfile_array[]" /><br />
<input type="reset" value="Отменить"> <input type="submit" value="Загрузить">
</form>


<?php
while (list($key, $userfile) = each($userfile_array)) {
$path_to_save = './images/';
$userfile_array = $_POST['userfile_array'];

  foreach ($userfile as $k =>$v)
  {
      if ($v != '')
      {
        $tmp = file_get_contents($v);
        preg_match('/.*\/(.*)/i', $v, $filename);
        file_put_contents($path_to_save.$filename[1], $tmp);
      }
  }
}

?>


Не работает. huh.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 28.1.2014, 14:03; Ответить: fioru
Сообщение #6


Вы сами себе противоречите... в первый раз Вы предложили 10 загрузчиков. Сейчас 1
Вот Вам рабочий скрипт загрузки файлов, думаю Вы его легко адаптируете

Сообщение отредактировал fioru - 28.1.2014, 14:04
Прикрепленные файлы
Прикрепленный файл  upload.zip ( 1,32 килобайт ) Кол-во скачиваний: 49
 


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asusa3a
asusa3a
Topic Starter сообщение 28.1.2014, 14:23; Ответить: asusa3a
Сообщение #7


Отлично, скрипт работает, но не могу изменить категорию загрузки (folder_upl), в каком формате указывать путь к папке (спрашиваю, т.к. какая-нибудь запятая может всё испортить)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 28.1.2014, 14:32; Ответить: fioru
Сообщение #8


Там указан пример.
Путь к папке надо указывать
/name

либо
/name/subname


Ну и CHMOD 777 на Linux-машинах обязательно на данную папку надо ставить
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asusa3a
asusa3a
Topic Starter сообщение 28.1.2014, 15:28; Ответить: asusa3a
Сообщение #9


С категорией разобрался, теперь проблема с именем файла. Не знаю почему, но сохраняется со временным именем, а мне надо, что бы с таким же как и было.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 28.1.2014, 15:35; Ответить: fioru
Сообщение #10


Со временным сохраняется специально чтобы не было повторов... если Вы будете сохранять с тем же что было то файл например
site.ru/name.jpg
перезапишет файл
site2.ru/name.jpg
либо
site.ru/sub/name.jpg

За имя файла отвечают 25 и 38 строки кода:
$newname = time () . "." . $extension; // Новое имя загруженного файла


Сообщение отредактировал fioru - 28.1.2014, 15:36
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д.
0 BuxarNET 1223 19.7.2023, 5:58
автор: BuxarNET
Открытая тема (нет новых ответов) FinFile - новые возможности для монетизации Ваших файлов!
3 FileXmaster 2076 25.7.2020, 16:10
автор: -Condis-
Открытая тема (нет новых ответов) Куплю "вечные URL" с ваших сайтов с тематикой - Пластиковые Окна!
5 regem 8380 15.3.2020, 19:46
автор: Narsus797
Открытая тема (нет новых ответов) Куплю места для размещения TXT+URL Строительная тематика.
7 regem 7641 28.3.2019, 18:31
автор: regem
Открытая тема (нет новых ответов) Сервер для поднятия proxy ipv4
3 Panameira 2710 13.11.2018, 4:24
автор: zkalinin


 



RSS Текстовая версия Сейчас: 19.4.2024, 15:44
Дизайн