Создание ссылки на папку

В битриксе, при использовании нескольких сайтов в одной админке (например — для филиалов в разных городах одной фирмы), часто нужно повторять содержимое тех или иных папок.

Чтобы не плодить сущности без нужды, удобнее в этом случае использовать ссылки на уже существующие папки. На рисунке ниже — bitrix, html, important — ссылки на папки, лежащие в другой директории.

Собственно, при многосайтовости в битриксе по крайней мере две ссылки используются всегда — на папку bitrix и upload. Для их создания существует известный скриптик symlink.php. Я модернизировала его немного. Теперь можно ссылаться на любую папку, а не только традиционные.

<html>
<head><title>Создание ссылки на папку</title>
<meta http-equiv="Content-Type" content="text/html; 
charset=windows-1251">
</head>
<body>
<?
error_reporting(E_ALL & ~E_NOTICE);
@ini_set("display_errors",1);
if ($_POST['path'])   $path = rtrim($_POST['path'],"/\\"); 
else   $path = '../../public_html';
if ($_POST['papka']) $papka = rtrim($_POST['papka']); 
else	$papka="upload";

if ($_POST['create'])
{
   if (preg_match("#^/#",$path))
      $full_path = $path;
   else
      $full_path = realpath($_SERVER['DOCUMENT_ROOT'].'/'.$path);
   if (file_exists($_SERVER['DOCUMENT_ROOT']."/$papka"))
      $strError = "В текущей папке уже существует папка $papka";
   elseif (is_dir($full_path))
   {
      if (is_dir($full_path."/$papka"))
      {
         if (symlink($path."/$papka",
$_SERVER['DOCUMENT_ROOT']."/$papka")) $strMess = "Готово!";  
         else   $strMess = "Не удалось создать ссылку на папку $papka";  
      }
      else   $strMess = "Указанный путь не содержит папку $papka";
   }
   else   $strMess = 'Неверно указан путь или ошибка прав доступа';
  
   if ($strMess)
       echo 
'<font color=red>'.$strMess.'</font><br>Исходный путь: '.$full_path;
}
?>
<form method=post>
Путь к разделу, содержащему папку <?=$papka?>: 
<input name=path  value="<?=htmlspecialchars($path)?>"><br>
Название папки для создания ссылки 
<input name=papka  value="<?=htmlspecialchars($papka)?>"><br>
<input type=submit value='Создать' name=create>
</form>
</body> 
</html>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *