programing

폴더를 라라벨로 작성하다

lastmoon 2023. 3. 8. 21:43
반응형

폴더를 라라벨로 작성하다

사용자가 ajax request > route > controller@method를 통해 larabel 4에 폴더를 작성하는 데 문제가 있습니다.
url call right 메서드에 대한 ajax 성공 요청을 테스트했습니다.
사용할 때mkdir또는File::mkdir($path);(이 메서드가 존재합니까?) 그럼 답변을 드리겠습니다.Failed to load resource: the server responded with a status of 500 (Internal Server Error)새 폴더를 만들지 못했습니다.어떻게 해결할 것인가?

route.displaces를 설정합니다.

Route::post('admin/article/addimagegallery', 'AdminDashboardController@addImagegallery');

AdminDashboard 컨트롤러

public function addImagegallery()
{
    if (Request::ajax())
    {
        …
        $galleryId = 1; // for test
        $path = public_path().'/images/article/imagegallery/'.$galleryId;
        File::mkdir($path);
    }
}

js

$.ajax({
    url: 'addimagegallery',
    type: 'POST',
    data: {addimagegallery: 'addimagegallery'},
})
.done(function(response) {
    console.log(response);
});

아니, 사실은

use File;

File::makeDirectory($path);

또, 다음과 같이 시험해 볼 수도 있습니다.

$path = public_path().'/images/article/imagegallery/' . $galleryId;
File::makeDirectory($path, $mode = 0777, true, true);

업데이트: 실제로 동작합니다.mkdir배후에서 사용되고 있습니다.출처는 다음과 같습니다.

/**
 * Create a directory.
 *
 * @param  string  $path
 * @param  int     $mode
 * @param  bool    $recursive
 * @param  bool    $force
 * @return bool
 */
public function makeDirectory($path, $mode = 0777, $recursive = false, $force = false)
{
    if ($force)
    {
        return @mkdir($path, $mode, $recursive);
    }
    else
    {
        return mkdir($path, $mode, $recursive);
    }
}

삭제 시:

public function deleteDirectory($directory, $preserve = false);

로컬 설치에서 다음 경로로 소스를 확인합니다.

root/vendor/larabel/framework/src/Illuminate/Filesystem/Filesystem.php

알파 덕분이야당신의 답변이 도움이 되었습니다.다음은 최신 버전을 사용하는 사용자를 위한 5단계 방법입니다.

Storage::disk('local')->makeDirectory('path/to');

이 조작에 의해서, 에 디렉토리가 작성됩니다.storage/app/path/to

로 작성한 디렉토리를 취득합니다.

storage_path('app/path/to')

사용할 수 있는 인수는 여러 가지가 있습니다.

기본값을 사용하여 디렉토리를 생성할 수 있습니다.

$result = File::makeDirectory('/path/to/directory');

디렉토리가 /path/to 디렉토리에 작성 가능한 경우 true가 반환됩니다.작성된 디렉토리의 파일모드는 0777 입니다.

모드를 지정할 수 있습니다.

$result = File::makeDirectory('/path/to/directory', 0775);

디렉토리가 /path/to 디렉토리에 작성 가능한 경우 true가 반환됩니다.작성된 디렉토리의 파일모드는 0775 입니다.

디렉토리를 재귀적으로 생성할 수도 있습니다.

$result = File::makeDirectory('/path/to/directory', 0775, true);

다음 코드를 사용해 보십시오.-

use Illuminate\Support\Facades\File;

if (! File::exists("your-path")) {
    File::makeDirectory("your-path");
}

파일 사용에는 \Iluminate\를 사용합니다.지원\패킷\파일

언급URL : https://stackoverflow.com/questions/21869223/create-folder-in-laravel

반응형