Используя VPS-сервер, когда я создаю каталог с помощью mkdir (), он возвращает true, но папка, когда я проверяю с помощью cpanel, пуста, - PullRequest
0 голосов
/ 15 ноября 2018

Используя VPS-сервер, когда я создаю каталог с помощью mkdir (), он возвращает true, но папка, когда я проверяю с помощью cpanel, пуста, я не знаю, почему я даже использовал scandir (), и я заметил, что те папки, которые я создал, отображаются вмассив в scandir (), почему это происходит, почему эти папки не отображаются?Это мой код:

/ создание каталога /

                if (!file_exists('public_html/members/1213121')) {
                    mkdir('public_html/members/1213121', 0777, true);
                    echo "file getting created";
                }
                else{
                    echo "file not getting created.";
                }

                /**this is the code I put to scan the members folder and it retuns array and showing the folder named 1213121 but in actual cpanel that directory is not there **/

                $dir = "public_html/members/";

                // Sort in ascending order - this is default
                $a = scandir($dir);

                // Sort in descending order
                $b = scandir($dir,1);

                print_r($b);

, так как я провел тестирование с другими именами папок, поэтому он возвращает в html, как показано ниже :: fileполучение созданного массива ([0] => 1213121 [1] => 12131 [2] => 1213 [3] => .. [4] =>.)

Также я провел тестирование с разрешениями как0755, 0700 но никто не работает.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Проблема решена на самом деле файл, который создает папку находится в поддомене, и когда я указал точный путь, он не указывал на него, вместо этого он создал новую папку public_html в поддомене, и я был в основном public_html .. это создал путь вроде: -public_html / subdomainfolder / public_html / members / 1213121, и вместо этого я думал, что путь будет создан как public_html / members / 1213121 ... Так что моя проблема решена сейчас, и ответ Махфуза также верен. спасибо за помощь.

0 голосов
/ 15 ноября 2018

если у вас есть права доступа к папке на сервере, тогда этот код работает для вас. это первый скрипт для удаления папки «1213121» с вашего сервера. сценарий 1:

delete_files('/public_html/members/1213121/');

/* 
 * php delete function that deals with directories recursively
 */
function delete_files($target) {
    if(is_dir($target)){
        $files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned

        foreach( $files as $file ){
            delete_files( $file );      
        }

        rmdir( $target );
    } elseif(is_file($target)) {
        unlink( $target );  
    }
}
?>

замените ваш скрипт на этот скрипт 2:

$dir = 'public_html/members/1213121';

if (!file_exists($dir) && !is_dir($dir)) { //check dir is not exist

    if (mkdir($dir, 0777, true)) { //check folder is created
        echo "Folder created"; //display success message
    } else {
        echo "folder not created."; //if the dir is not created then show error message
    }
}

/**this is the code I put to scan the members folder and it retuns array and showing the folder named 1213121 but in actual cpanel that directory is not there **/

$dir = "public_html/members/";

// Sort in ascending order - this is default
$a = scandir($dir);

// Sort in descending order
$b = scandir($dir, 1);

print_r($b);

Примечание: перед заменой второго сценария необходимо удалить первый сценарий.

...