Laavel에서 확장자가 없는 파일 이름 집합을 가져오는 방법 노트
개시하다
라벨의 스토어 디렉터리에는'같은 파일 이름이지만 확장자는 다르다'는 것이 있다.이런 느낌이에요.
output_20210703072428
output_20210703073006
output_20210703073017
손을 쓰면서 방법을 조사한다.전제 조건
brew를 통해 설치 가능
$ brew install tree
시도해 본 일
Laavel 프로젝트 만들기
$ composer create-project laravel/laravel get-file-name-set
확인 파일 만들기
storage/app/public/
에서 같은 파일 이름이지만 확장명이 다른 파일 몇 개를 만들었다.제작 후 상태는 다음과 같습니다.$ cd storage/app/public/
$ head *
==> output_20210703072428.csv <==
1,apple,100
2,banana,150
3,cherry,200
==> output_20210703072428.ctl <==
38
==> output_20210703073006.csv <==
3,apple,100
2,banana,150
1,cherry,200
==> output_20210703073006.ctl <==
38
==> output_20210703073017.csv <==
3,apple,100
1,banana,150
2,cherry,200
==> output_20210703073017.ctl <==
38
설명 처리
web.처리가 php에서 설명됨
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\File;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/list', function () {
$path = storage_path( 'app/public' );
$fileNames = array();
$files = File::files( $path );
// See: https://www.php.net/manual/ja/function.pathinfo.php
foreach( $files as $file ){
$fileNames[] = pathinfo( $file->getFilename(), PATHINFO_FILENAME );
}
// See: https://www.php.net/manual/ja/function.array-unique.php
foreach( array_unique( $fileNames ) as $fileName ){
echo( $fileName . "\n" );
}
});
보태다
$fileNames[] = pathinfo( $file->getFilename(), PATHINFO_FILENAME );
pathinfo의 두 번째 매개 변수에 PATHINFO_FILENAME
를 지정하면 확장자가 없는 파일 이름을 얻을 수 있습니다 foreach( array_unique( $fileNames ) as $fileName ){
echo( $fileName . "\n" );
}
array_unique에서 중복되지 않는 그룹을 얻을 수 있습니다.(참고: 키 인덱스 유지)동작 확인
파일의 상태를 확인합니다.
$ cd storage/app/public/
$ tree
.
├── output_20210703072428.csv
├── output_20210703072428.ctl
├── output_20210703073006.csv
├── output_20210703073006.ctl
├── output_20210703073017.csv
└── output_20210703073017.ctl
0 directories, 6 files
HTTP 요청을 수행하여 확장자가 없는 파일 이름이 중복 가져오지 않는지 확인합니다.$ curl http://localhost:8000/list
output_20210703072428
output_20210703073006
output_20210703073017
확인 완료.
Reference
이 문제에 관하여(Laavel에서 확장자가 없는 파일 이름 집합을 가져오는 방법 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/katoaki/articles/18211f1103dd58텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)