Функция PHP Chmod не работает - PullRequest
0 голосов
/ 31 мая 2018

Каждый раз, когда я пытаюсь удалить файл из папки cpanel со своей веб-страницы, используя этот код

$oldFile = @mysql_result(mysql_query("SELECT SUBSTR(`materialLink`, 27) FROM `documents` WHERE `iddocuments` = '$iddoc'"),0, `materialLink`);

$chmod = "0777";

chmod($oldFile,octdec($chmod));

$oldFile = 'https://www.edutopia.co.ke'.$oldFile;

 if(isset($_POST['Fild'])){
    $msg1 = '<script type="text/javascript">alert("File successfully deleted");</script>';

    $msg2 = '<script type="text/javascript>alert("There was an error deleting that file.");</script>"';

    $tFile= $_POST['Fild'];

    $delFile = "DELETE FROM `documents` WHERE `iddocuments`='$tFile'";

    mysql_query($delFile);
    unlink($oldFile);
    if (mysql_query($delFile)){
        echo $msg1;
    }
  else {
     echo $msg2;
 }
 }

, я получаю следующую ошибку:

Предупреждение PHP: chmod (): Нет такого файла или каталога в /home/edutopia/public_html/fDelete.php в строке 8

PHP Предупреждение: unlink (): Невозможно найти потоковую оболочку в /home/edutopia/public_html/fDelete.php настрока 20

Может ли кто-нибудь быть в состоянии найти лекарство, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Если $oldFile относится к удаленному файлу, согласно документации chmod(), он не будет работать:

Примечание: Эта функция не будет работать с удаленными файламипоскольку проверяемый файл должен быть доступен через файловую систему сервера.

Источник: http://php.net/manual/en/function.chmod.php

0 голосов
/ 31 мая 2018

Скорее всего, это связано с путями, так как PHP их понимает.Если вы вводите SSH в поле и делаете:

ls -l /home/edutopia/public_html/fDelete.php

... он существует?

Кроме того, проверьте свой веб-root.Это может быть не public_html.

...