Как получить доступ к файлу с помощью PHP в виртуальном каталоге на IIS 7 - PullRequest
0 голосов
/ 26 июля 2011

Вот моя проблема: у меня есть сайт, работающий на IIS 7 + PHP 5.3. В иерархии веб-сайта есть виртуальный каталог с именем «vd», содержащий флэш-файлы.

MyApplication
- test.php
- В.Д.
- animation1.swf
- animation2.swf
- ...

Таким образом, легко получить доступ к SWF-файлам с помощью браузера, вам просто нужно ввести имя каталога в URL: http://www.mySite.com/vd/animation1.swf

Однако я хотел бы использовать функцию getimagesize () для моей анимации в сценарии PHP. Но в этом случае php не может найти файл:

<?php
    // test.php
    var_dump(getimagesize('vd/animation1.swf')); // false
?>

Кажется, это имеет смысл, потому что в любом случае '/' даже не является правильным разделителем каталогов для окон. Но я просто не могу понять, как заставить getimagesize работать через виртуальный каталог, я много чего безуспешно пробовал (используя константу DIRECTORY_SEPARATOR , используя функцию realpath () . ..).

Конечно, я мог бы использовать реальный путь в моем скрипте, но мне было бы легче сделать это через виртуальный путь.

Любая помощь будет принята с благодарностью, Спасибо!

1 Ответ

1 голос
/ 26 июля 2011

PHP идет не через веб-сервер, а через ОС, чтобы получить файл.Таким образом, переводы между виртуальными и реальными веб-серверами не будут выполняться.Вам нужно будет использовать реальный путь к файлу.Вы можете сделать веб-запрос к файлу и таким образом определить размер, но это очень неэффективно.Гораздо разумнее просто сделать это прямо через ОС.

Просто создайте переменную / define / class константу или что угодно, чтобы вы сохранили реальный путь к соответствующему каталогу.Затем просто добавьте animation1.swf к этому в своем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...