У меня есть этот diretorio.php файл, который захватывает идентификатор пользователя в Joomla и создает каталог с этим идентификатором (если он не существует до сих пор):PHP: Сохранить файл в определенный каталог
/* Get the current user id */
$user = JFactory::getUser();
$usr_id = $user->get('id');
/*Define the path to this user's directory */
$diretorio=$_SERVER['DOCUMENT_ROOT']."/Apps/files/".$usr_id;
/*Create the user's directory if it doesn't exist */
if (!file_exists($diretorio) and !is_dir($diretorio)) {
mkdir($diretorio, 0755);
};
сейчас Я хочу, чтобы сохранить файл с данными в объекте, используя Ajax, который вызывает другой PHP файл в тот же каталог, созданный выше:
$myFile = $diretorio."/dados.json";
$fh = fopen($myFile, 'w') or die("não é possível abrir o ficheiro");
$stringData = $_POST['data'];
$stringData='{ "data":'.json_encode($stringData).'}';
fwrite($fh, $stringData);
fclose($fh);
Однако файл не создается. Если я заменить первую строку на:
$myFile = "dados.json";
Это создаст файл в том же каталоге, где хранится этот PHP скрипт.
Я рекомендую взглянуть на [Joomla File System Docs] (HTTP://docs.joomla.org/How_to_use_the_filesystem_package) – Lodder
Вы настроили PHP для отображения/регистрации всех сообщений об ошибках? Что возвращает 'fwrite()'? –
Ошибка не возвращается. Даже если стандарт отчетности установлен на максимум –