Символическая ссылка PHP для отмены связи

когда я создаю под Windows символическую ссылку (еще не тестировал ее под Linux) и хочу снова удалить/отключить ее (я пробовал с помощью функции unlink()), она всегда удаляет символическую ссылку + исходный файл. Но я просто хочу удалить символическую ссылку. Неужели нет никакой функции для этого?


person user1323512    schedule 30.07.2012    source источник


Ответы (5)


Проверьте этот ответ: https://stackoverflow.com/a/12288764/3910083

unlink() - правильный подход

фрагмент кода из моего проекта, чтобы удалить, только если это была символическая ссылка

if(file_exists($linkfile)) {
    if(is_link($linkfile)) {
        unlink($linkfile);
    } else {
        exit("$linkfile exists but not symbolic link\n");
    }
}

readlink(), возвращает цель ссылки, вы можете запустить unlink для этого

if(is_link($linkfile)) {
      $target = readlink($linkfile)
      unlink($target)
}
person Vernard Luz    schedule 05.08.2014

  1. Переименуйте символическую ссылку во что-то вроде «my_link», чтобы повторно использовать один и тот же файл PHP.
  2. Создайте файл PHP с соответствующим кодом. Я использовал "unlink.php". Просто и легко запомнить.
  3. Загрузите файл PHP в каталог, содержащий ссылку.
  4. Введите URL-адрес файла.

В результате файл бесследно исчезает.

<?php
unlink ('my_link');
?>
person sanders    schedule 30.07.2012

Просто убедитесь, что вы используете мягкую ссылку, а не жесткую ссылку

проверьте использование Mklink из здесь

person Hawili    schedule 30.07.2012
comment
я создал ссылку с помощью функции symlink() - person user1323512; 30.07.2012
comment
Какую систему Windows вы используете XP/VISTA/7 или Server 2000/3/8? - person Hawili; 01.08.2012

В Linux, чтобы быть в безопасности, я бы просто пошел с

shell_exec('rm ' . $file);
person the_nuts    schedule 18.03.2021

Прочитайте это:-

http://php.net/manual/en/function.symlink.php

попробуй это:-

symlink($target, $link);
unlink($link);
unlink($target);
person Abid Hussain    schedule 30.07.2012
comment
я хочу удалить символическую ссылку, зачем мне тогда создавать новую ссылку? - person user1323512; 30.07.2012