폴더를 라라벨로 작성하다
사용자가 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
'programing' 카테고리의 다른 글
스프링 부트 및 gRPC 및 Protobuf 사용 (0) | 2023.03.08 |
---|---|
스프링 부팅 시 요청 대상에 잘못된 문자가 있습니다. (0) | 2023.03.08 |
워드프레스 컨택폼7 텍스트 영역 콜 및 행이 작은 화면에서 변경됨 (0) | 2023.03.08 |
jQuery is not defined in Wordpress, but my script is enqueued properly (0) | 2023.03.08 |
컨트롤러의 각도 변환에 대한 올바른 사용 (0) | 2023.03.08 |