Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужен совет по путям(ссылкам)
 
 автор: dmtrfoxerr   (03.09.2009 в 19:46)   письмо автору
 
 

И так! Делаю скрипт чтоб загружал на сервер видеофайлы и создавались превью. НО! вопрос о другом. В скрипте указываю разные варианты путей для записи в БД.
Вариант 1. (как в книге)

 // Формируем путь к файлу
    $video = "../video/".date("YmdHis",time())."$ext";
.......

Формирую путь, который запишу потом в базу. Затем я хочу сделать превью и обращаюсь к этому файлу

//Использую загруженный файл
    $movie = new ffmpeg_movie("../".$video);

В итоге выдает ошибку Warning: Can't open movie file ../../video/20090903194031.mp4
Пробывал указывать разные уровни не помогает.
Вариант 2.
Использую $_SERVER['DOCUMENT_ROOT']

$video = $_SERVER['DOCUMENT_ROOT']."/video/".date("YmdHis",time())."$ext";

Все работает как надо. НО! При выводе из базы не отображаются превью( и в 1 варианте тоже).
Посмотрите, пожалуйста свежим взглядом. Может я где -то что-то пропустил.
Спасибо

  Ответить  
 
 автор: Киналь   (03.09.2009 в 20:07)   письмо автору
 
   для: dmtrfoxerr   (03.09.2009 в 19:46)
 

ПробОвал, прах побери!...

По делу - скорее всего, путаница с уровнями, так как "../" - это родительская папка. Пишите все пути от корня (то есть "/video/имя_файла") - и будет вам счастье.

  Ответить  
 
 автор: dmtrfoxerr   (03.09.2009 в 21:18)   письмо автору
 
   для: Киналь   (03.09.2009 в 20:07)
 

ДА пробовал.... и так. Как только не пробовал... в таком случае выдает ошибку
Can't open movie file /video/20090903211424.mp4
Вот еще что интересно. Скрипт фотогалереи с диска "Практика...." работает ...а у меня аналогичный(пути такие же) не хочет отображать картинки потом при выводе.

  Ответить  
 
 автор: dmtrfoxerr   (04.09.2009 в 20:23)   письмо автору
 
   для: dmtrfoxerr   (03.09.2009 в 19:46)
 

Люди добрые ну подскажите где я мог ошибиться ...

  Ответить  
 
 автор: DEM   (04.09.2009 в 20:32)   письмо автору
 
   для: dmtrfoxerr   (04.09.2009 в 20:23)
 

Видя только шибку можно сказать, что у вас неправильно указаны пути, ну или порпобуйте поставить права на папку с превью 0777 (потом поменять на правильные не забудьте ;) )

  Ответить  
 
 автор: dmtrfoxerr   (04.09.2009 в 20:43)   письмо автору
 
   для: DEM   (04.09.2009 в 20:32)
 

Какие ошибки выдает ..см выше
И права на папку я не смогу поставить ... виндовс сэр!

  Ответить  
 
 автор: Dmtrfoxerr   (05.09.2009 в 22:34)   письмо автору
 
   для: DEM   (04.09.2009 в 20:32)
 

Любой вариант путей указываю, не помогает... Может проблема в настройках денвера??...

  Ответить  
 
 автор: Вот случайно зашел   (05.09.2009 в 22:42)   письмо автору
 
   для: Dmtrfoxerr   (05.09.2009 в 22:34)
 

../ - уровень вверх
./ - текущая папка

Проверь внимательно пути.

date("YmdHis",time()) - случайное имя на основе даты, так файла ж не существует.

  Ответить  
 
 автор: naxa   (05.09.2009 в 22:54)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 22:42)
 

нет, у него ведь данные из бд берутся ... это имя из даты формируется ...

ТС, можете показать, как у вас превью выводиться ?

  Ответить  
 
 автор: dmtrfoxerr   (06.09.2009 в 02:45)   письмо автору
 
   для: naxa   (05.09.2009 в 22:54)
 

Да все правильно. имя формируется из даты и времени записи в базу.

  Ответить  
 
 автор: dmtrfoxerr   (06.09.2009 в 02:44)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 22:42)
 

пробовал и так и так.
Пути проверял !!!! Может где в настройках! Может в header? Почему пример с ДИСКА создания сайта работает а у меня нет ... В базе сохраняю аналогичные пути, превью не показывает. И не могу работать с файлом по этому пути. если использую "DOCUMENT_ROOT" все окей, НО не отображает превью на странице!!! Фантасмагория!! Где ГЛЮК!!! не могу понять! в голове(это конечно!) или в коде.

  Ответить  
 
 автор: Trianon   (06.09.2009 в 10:59)   письмо автору
 
   для: dmtrfoxerr   (06.09.2009 в 02:44)
 

Вы приводите много обрывков кода, изрядно истерики, и - не поверите - ни одного полного пути к файлу или документу.
напечатайте полный путь, посмотрите, есть ли такой файл на сервере, и всё разъяснится.

  Ответить  
 
 автор: serjinio   (06.09.2009 в 11:26)   письмо автору
 
   для: dmtrfoxerr   (06.09.2009 в 02:44)
 

<base href="

  Ответить  
 
 автор: @ndry   (06.09.2009 в 11:35)   письмо автору
 
   для: serjinio   (06.09.2009 в 11:26)
 

И как HTML тег повлияет на PHP код?

  Ответить  
 
 автор: dmtrfoxerr   (15.09.2009 в 22:06)   письмо автору
 
   для: Вот случайно зашел   (05.09.2009 в 22:42)
 

>date("YmdHis",time()) - случайное имя на основе даты, так файла ж не существует.

Как не существует ... существует! В том то и дело, что файл закачивается на сервак, но дальше я не могу с ним работать так как
$movie = new ffmpeg_movie($video); 
не видит путь
  $video = "../video/".date("YmdHis",time())."$ext"; 
.


Показывает сообщение: Warning: Can't open movie file ../video/20090915214928.mp4.
Если нужна структура каталогов ...
Z:\home\video.local\www\video\ - сюда ролики закидываются...

Z:\home\video.local\www\adminka\catalog\ - здесь скрипт

PS Изменял на
$movie = new ffmpeg_movie("../".$video); 
... такая же ерунда. Ошибка и все.

  Ответить  
 
 автор: Trianon   (15.09.2009 в 23:44)   письмо автору
 
   для: dmtrfoxerr   (15.09.2009 в 22:06)
 

../video относительно Z:\home\video.local\www\adminka\catalog\ равно Z:\home\video.local\www\adminka\video

такого каталога у Вас нет.

  Ответить  
 
 автор: dmtrfoxerr   (15.09.2009 в 23:58)   письмо автору
 
   для: Trianon   (15.09.2009 в 23:44)
 

>../video относительно Z:\home\video.local\www\adminka\catalog\ равно Z:\home\video.local\www\adminka\video
>
>такого каталога у Вас нет.

Если подправить
$movie = new ffmpeg_movie("../../".$video); 
.
Ситуацию не изменит.

  Ответить  
 
 автор: Trianon   (16.09.2009 в 00:15)   письмо автору
 
   для: dmtrfoxerr   (15.09.2009 в 23:58)
 

Следует указывать абсолютный путь к файлу, а не относительный.

  Ответить  
 
 автор: dmtrfoxerr   (16.09.2009 в 00:41)   письмо автору
 
   для: Trianon   (16.09.2009 в 00:15)
 

>Следует указывать абсолютный путь к файлу, а не относительный.

ДА , но тогда заливать придется на хост с нуля... и потом с переносом будут сложности...

  Ответить  
 
 автор: Trianon   (16.09.2009 в 08:43)   письмо автору
 
   для: dmtrfoxerr   (16.09.2009 в 00:41)
 

>ДА , но тогда заливать придется на хост с нуля...

с чего бы?

>...и потом с переносом будут сложности...

Ничего подобного. Один источник данных для вычисления пути на конкретном хостинге Вам уже подсказали. Это __FILE__ . Другой - $_SERVER['DOCUMENT_ROOT']

  Ответить  
 
 автор: ride   (06.09.2009 в 11:42)   письмо автору
 
   для: dmtrfoxerr   (03.09.2009 в 19:46)
 

когда вы используете второй вариант (с $_SERVER['DOCUMENT_ROOT']) вы
$movie = new ffmpeg_movie("../".$video); пишете точно также?

  Ответить  
 
 автор: dmtrfoxerr   (15.09.2009 в 21:51)   письмо автору
 
   для: ride   (06.09.2009 в 11:42)
 

ИЗВИНИТЕ, что долго не отвечал. Был в командировке.

>когда вы используете второй вариант (с $_SERVER['DOCUMENT_ROOT']) вы
> $movie = new ffmpeg_movie("../".$video); пишете точно также?

Нет конечно.... использую $movie = new ffmpeg_movie($video);

  Ответить  
 
 автор: dmtrfoxerr   (15.09.2009 в 23:48)   письмо автору
 
   для: dmtrfoxerr   (15.09.2009 в 21:51)
 

Уже дошел до французских форумов!!! )))
Вот дословный перевод. Спасибо Google!
Так вот что я сказал, вы не соблюдают основные 
правила я уже упоминал. ;) 
В качестве напоминания, FFmpeg это программа, установленная 
на вашем компьютере, его первым актом просто для сжатия 
аудио и видео файлов в данном формате, а не в Сети. Путь 
'. / Vid.avi' делает абсолютно ничего для него. Если вы 
хотите ее обрабатывает ваш файл, вам надо дать ему путь, 
как 'C: \ FFmpeg \ видео \ vid.avi. 

Если вы хотите знать путь к папке на компьютере (локально 
или на сервере, независимо), место внутри PHP файла, 
содержащего эту строку и выполните: 
Эхо __FILE__;

Видимо это и есть ответ на мою проблему... так как указывая полный путь .... работает как надо. Вот только превью не отображаются. И весь контент придется заливать только на удаленном серваке.((

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования