PHP, MoDX: Загрузить файл из пользовательского фрагмента PHP

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

Сценарий работает нормально, пока не доходит до того, что PHP передает файл из временных документов в мою собственную папку.

Моя папка называется «загрузки» и является корневой.

В ModX каталог файлов PHP находится

/core/cache/includes/elements/modsnippet

Кажется, я не могу найти способ направить скрипт для отправки файла обратно из каталога modsnippet в каталог public_html/uploads.

До сих пор я пробовал:

move_uploaded_file($_FILES['instlogo']['tmp_name'], dirname(__FILE__) . "/../../../../uploads".$new_file_name)

;

а также абсолютные пути, например:

http://mysite.com/uploads

Но безрезультатно.

Кто-нибудь знает способ сделать это правильно? Спасибо!

(пс: права на эту папку 777)


person MeltingDog    schedule 24.01.2013    source источник
comment
каково значение $ new_file_name? http://mysite.com/uploads не является допустимым абсолютным путем файловой системы, вы можете изменить его на что-то вроде '/home/me/uploads/myfile.txt'   -  person jachguate    schedule 24.01.2013


Ответы (1)


вы можете попробовать что-то вроде:

$my_uploads = $modx->getOption('base_path').'uploads/';

move_uploaded_file($_FILES['instlogo']['tmp_name'], $my_uploads.$new_file_name)

опция base_path даст вам полный путь к файловой системе [от корня сервера]

если нет, и вы получаете ошибку файловой системы, в журналах сервера [aapche] должно быть указано, почему. У вас есть к ним доступ?

person Sean Kimball    schedule 24.01.2013
comment
Спасибо! По какой-то причине мой скрипт также добавлял /tmp/, поэтому мне пришлось удалить и это из строки. - person MeltingDog; 24.01.2013