У меня есть сайт для конвертации медиа, где пользователи могут загружать видео, аудио или файлы изображений и конвертировать в 3 популярных формата. Сценарий конверсии работает нормально, но у меня возникают некоторые проблемы с tmp-каталогом, куда файлы загружаются. Я пробовал 2 сценария. Я в порядке с ними, но ни один из них не работает, и мне кажется, что это связанные с разрешениями, но я могу решить проблему. Я работаю локально прямо сейчас, пока я работаю над изломами.Изменение PHP Temp Directory
Сценарий 1:
- Файл загружается по умолчанию локальный каталог TMP (C: \ WINDOWS \ TMP) - работает отлично
- Попытка запустить сценарий преобразования с использованием TMP файл, который был закачанный и Безразлично» т работа - запустить из командной строки отлично работает, хотя
Сценарий 2:
- файл я ы загружены в каталог Я дал IIS_IUSRS полный контроль (для тестирования) и файл не будет загружен - да каталог пишется правильно (я изменил значение upload_tmp_dir в php.ini)
Оба сайта, который Javascript которые отправляют XMLHttpRequest в файл PHP, а также сайт, на котором находится сам файл PHP, являются сайтами IIS, поэтому я предполагаю, что сценарий запускается как IIS_IUSRS.
EDIT: файл Temp больше не создается вообще для сценария 1, не может понять, почему я предполагаю, что игра с разрешением перепутала что-то, потому что код не изменился. Я дал Modify IIS_USRS и ПОЛЬЗОВАТЕЛЯм, чтобы попытаться заставить его снова работать, но не повезло :(хотя журнал ошибок все еще записывается в ту же папку ... weird
ПРИМЕЧАНИЕ: Значение «tmp_name» для $ Переменная _FILES, которую я посылаю, по-прежнему имеет значение «C: \ WINDOWS \ Temp \» filename », но файл отсутствует
EDIT: Еще одна новая разработка, похоже, что это НЕ проблема с разрешениями, потому что я могу создать временный файл через $ temp_file = tempnam (sys_get_temp_dir(), 'Test'), однако он, очевидно, не содержит загруженных данных, так что он не решает мою проблему.
Я никогда не использовал IIS, но, возможно, использовал/вместо \ для разделителя каталогов? Или используйте \\, потому что PHP рассматривает \ как мета-символ побега? –
Вы правы ... В моем коде у меня есть \\ это не должно быть проблемой, так как когда у меня есть файл, сидящий в каталоге, я могу жестко указать исходный и целевой файлы, и он отлично работает, но спасибо за ввод – mgrenier
А что в php.ini? Отличается ли эта настройка, когда вы эхо phpinfo()? –