Почему функция PHP is_link не распознает ссылку - PullRequest
0 голосов
/ 15 апреля 2020

Это просто воспроизвести. Просто создайте какую-нибудь папку, я назвал ее php-test. И еще одна папка, target. Затем перейдите на php-test и

$ mkdir uploads
$ ln -sfn ../target uploads

Проверьте, есть ли у нас символическая ссылка

$ ls -l uploads
total 0
lrwxrwxrwx 1 travel travel 9 Apr 15 18:51 target -> ../target

Создать тест. php внутри текущего каталога:

<?php

$link = 'uploads';

if (is_link($link)) {
    echo "is link $link\n";
} else {
    echo "not a link $link\n";
}

И запустите его

$ php test.php

Может кто-нибудь объяснить, почему вывод

not a link uploads

?

1 Ответ

0 голосов
/ 15 апреля 2020

Чтение Документация Параметр должен быть файлом. Как там сказано: имя файла - это путь к файлу.

touch filelink
ln -sfn ../target filelink

Будьте осторожны, ваш путь к ссылке правильный. Ваш тест. php должен быть в том же каталоге php -test, чтобы работать таким образом.

<?php

$link = 'filelink';

if (is_link($link)) {
    echo "is link $link\n";
} else {
    echo "not a link $link\n";
}
...