Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Загрузка видеофайла на свой сайт / 13 сообщений из 13, страница 1 из 1
10.01.2016, 17:15
    #39144101
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Здравствуйте.

Делаю добавление файла на свой сайт, для размещения файла использую папку views/video
Форма загрузки:

Код: html
1.
2.
3.
4.
5.
<form class="admin-form" enctype="multipart/form-data" action='/addvideo' method='post'>
<span>Файл avi</span><br>
<input type='file' accept='video/avi' name='avi' /><br>
<input type='submit' name='submit' value ='Добавить'><br/>
</form>



Обработчик:
Код: php
1.
2.
3.
4.
5.
6.
if($_FILES['avi']['tmp_name']){
	$aviname = '2.avi';
	if(!move_uploaded_file($_FILES['avi']['tmp_name'], Мой_домен.views/video/.$aviname)){
	       exit("Не удалось загрузить файл avi");
	}
}



В результате получаю:
Warning: move_uploaded_file(мой_домен/views/video/2.avi) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in D:\OpenServer\domains\мой_домен\controller\addvideo.php on line 106

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\OpenServer\userdata\temp\php2438.tmp' to 'мой_домен/views/video/2.avi in D:\OpenServer\domains\мой_домен\controller\addvideo.php on line 106
Не удалось загрузить файл avi

В $_FILES запись есть, в OpenServer\userdata\temp\ соответствующий файл тоже имеется. Пробую с различными типами файлов, в том числе и с gif, но всегда та же ошибка.

Подскажите, как с этим бороться?

Файл avi большой, порядка 100М. Gif - маленький, меньше 1М. В настройках php:
upload_max_filesize = 1000M
post_max_size = 1000M

Все делаю на локальном компьютере с OpenServer
...
Рейтинг: 0 / 0
10.01.2016, 17:47
    #39144105
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Павел Гужановкак с этим бороться?Указать корректно полное имя файла (от корня файловой системы) в качестве второго аргумента в функции move_uploaded_file().
...
Рейтинг: 0 / 0
11.01.2016, 09:55
    #39144269
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
vkleПавел Гужановкак с этим бороться?Указать корректно полное имя файла (от корня файловой системы) в качестве второго аргумента в функции move_uploaded_file().

Сейчас путь в файловой системе выглядит так: D:\OpenServer\domains\domen_name\views\video\2.avi. В move_uploaded_file() вторым параметром передаю: http://domen_name/views/video/2.avi.

Я конечно могу у себя при разработке передать первый путь, но как быть, когда я перенесу это на хостинг? Там же путь в файловой системе мне неизвестен.
...
Рейтинг: 0 / 0
11.01.2016, 10:00
    #39144275
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Мой_домен.views/video/.$aviname - это я конечно ошибочно указал в вопросе. На самом деле выглядит так:
SITE_URL.VIDEO_LOAD.$aviname
SITE_URL определено как имя домена + '/'
VIDEO_LOAD определено как 'views/video/'
...
Рейтинг: 0 / 0
11.01.2016, 10:18
    #39144286
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
1. В двойных кавычках обратный слех необходимо экранировать.
2. Такой путь точно существует и ДОСТУПЕН для записи?
...
Рейтинг: 0 / 0
11.01.2016, 10:33
    #39144301
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Павел ГужановЯ конечно могу у себя при разработке передать первый путь, но как быть, когда я перенесу это на хостинг? Там же путь в файловой системе мне неизвестен.Путь можно вычислять. Например, от DOCUMENT_ROOT достроить до нужной директории.
Другой вариант - прописать в конфиге два варианта пути и автоматически выбирать тот или иной в зависимости от варианта обращения к сайту или по какому-то другому признаку.
...
Рейтинг: 0 / 0
11.01.2016, 10:33
    #39144302
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Hett1. В двойных кавычках обратный слех необходимо экранировать.
2. Такой путь точно существует и ДОСТУПЕН для записи?

1. Слэш экранирую (в смысле, добавлю экранирование)
2. Путь существует, записать по этому пути файлы могу, используя проводник или тотал коммандер. Если для PHP могут быть свои настройки доступности записи, то как их проверить и поменять?
...
Рейтинг: 0 / 0
11.01.2016, 10:37
    #39144309
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Павел Гужановзаписать по этому пути файлы могу, используя проводник или тотал коммандерЕсли быть более точным, это означает, что пользователь, от имени которого запущен проводник или TC имеет право записи.
А есть ли это право у пользователя, от имени которого работает PHP?
...
Рейтинг: 0 / 0
11.01.2016, 10:41
    #39144312
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Павел ГужановСейчас путь в файловой системе выглядит так: D:\OpenServer\domains\domen_name\views\video\2.avi. В move_uploaded_file() вторым параметром передаю: http://domen_name/views/video/2.avi.

вторым параметром D:\OpenServer\domains\domen_name\views\video\2.avi
...
Рейтинг: 0 / 0
11.01.2016, 10:51
    #39144328
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Вторым параметром move_uploaded_file() указал путь в файловой системе, как с экранированными слешами, так и не с экранированными. Результат тот же.
...
Рейтинг: 0 / 0
11.01.2016, 10:58
    #39144337
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Стоп! Была ошибка в полном пути. Исправил, файл нормально загрузился.
vkleПавел ГужановЯ конечно могу у себя при разработке передать первый путь, но как быть, когда я перенесу это на хостинг? Там же путь в файловой системе мне неизвестен.
Путь можно вычислять. Например, от DOCUMENT_ROOT достроить до нужной директории.
Другой вариант - прописать в конфиге два варианта пути и автоматически выбирать тот или иной в зависимости от варианта обращения к сайту или по какому-то другому признаку.

Можно поподробнее, как вычислить путь в файловой системе на хостинге?
...
Рейтинг: 0 / 0
11.01.2016, 11:09
    #39144350
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Павел Гужановvkleпропущено...

Путь можно вычислять. Например, от DOCUMENT_ROOT достроить до нужной директории.
Другой вариант - прописать в конфиге два варианта пути и автоматически выбирать тот или иной в зависимости от варианта обращения к сайту или по какому-то другому признаку.

Можно поподробнее, как вычислить путь в файловой системе на хостинге?Допустим, в $_SERVER['DOCUMENT_ROOT'] скрипт получает значение '/home/u12345/public_html', а полный путь к директрии с видео '/home/u12345/public_html/views/video'. Тогда этот путь можно представить как
Код: php
1.
$_SERVER['DOCUMENT_ROOT'] . '/views/video'
...
Рейтинг: 0 / 0
11.01.2016, 11:21
    #39144365
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка видеофайла на свой сайт
Спасибо всем за ответы. Буду разбираться
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Загрузка видеофайла на свой сайт / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]