У меня есть это :
move_uploaded_file($File['tmp_name']['File'], $FilePath);
куда
$FilePath is '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52'
куда ‘PPKInside’ символическая ссылка указывает на ‘../../MIMI/Common/Data/’ где ‘Данные’ Symling указывает на ‘/ Шоссе / nfsnew / DIDIData / PPKInside / Data’
До сих пор я обнаружил, что ‘/ Шоссе / nfsnew /’ пусто и ‘/ DIDIData / PPKInside / Data’ отсутствуют каталоги …
Каков наилучший способ проверить, существуют ли каталоги, и создать их, если их нет? Потому что на данный момент
is_dir('/data/www/MIMICm/Common/Upload/PPKInside');
возвращает false и мне нужно использовать is_link () но после первой ссылки (‘PPKInside’) я не могу проверить, существуют ли его подкаталоги, и создать их при необходимости …
Realpath развернет все символические ссылки в указанном пути и сообщит вам, существует ли окончательный абсолютный файл (каталог):
realpath () возвращает FALSE при ошибке, например, если файл не существует
Если он не существует, вы можете создать полный путь к каталогу за один раз, добавив отсутствующие подкаталоги по пути, используя MkDir с $recursive
флаг установлен.
$FilePath = '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52';
if (!realpath($FilePath)) {
mkdir($FilePath, 0777, true);
}
Обратите внимание, что этот конкретный пример создает любые каталоги с разрешениями на чтение / запись / выполнение для все. Возможно, вы захотите изменить 0777, чтобы лучше соответствовать вашей конкретной настройке.
Других решений пока нет …