Вход Регистрация
* TRUEтень

импорт файлов new

  1. $dir = 'uploads';
  2. if (!is_dir($dir)) {
  3. mkdir($dir);
  4. }
  5. if (isset($_POST['url'])) {
  6. $newfile = basename(rtrim($_POST['url'], '/'));
  7. $uploadfil = new SplFileObject($_POST['url'], 'rb');
  8. $file = new SplFileObject($dir . DIRECTORY_SEPARATOR . $newfile, 'w');
  9. $file->setFlags(SplFileObject::SKIP_EMPTY);
  10. if ($file->flock(LOCK_EX)) {
  11. $file->ftruncate(0);
  12. while (!$uploadfil->eof()) {
  13. $file->fwrite($uploadfil->fgets());
  14. }
  15. }
  16. $file->flock(LOCK_UN);
  17.  
  18. if (file_exists($dir . DIRECTORY_SEPARATOR . $newfile)) {
  19. echo '<div>Фаил был успешно загружен на сервер</div>' . PHP_EOL;
  20. } else {
  21. echo '<div>Не удалось скачать файл, ссылка должна указывать прямой путь до файла</div>' . PHP_EOL;
  22. }
  23.  
  24. } else {
  25. echo '<form action="?act=' . $dir . '" method="post">' . PHP_EOL;
  26. echo '<input name="url" type="text" /><br/>' . PHP_EOL;
  27. echo '<input type="submit" value="download" />' . PHP_EOL;
  28. echo '</form>' . PHP_EOL;
  29. }
» Описание: по сравнению с copy() этот метод переносит большие файлы, даже если время выполнения скрипта маленькое, открывает отдельный процесс, по 2 гига максимум для 32 бит серверов
////////////////
» Время добавления: 19 Дек 2014 в 09:45
» Посмотров: 1290
» textarea
» Рейтинг: [+5 | -0]
Комментарии [1]
Онлайн: 1
Реклама