Php 在Laravel 5文件夹结构中,在何处保存文件?
我有我的Laravel项目,它将在进行一些计算后保存文件(txt或csv) 我正在寻找保存这些文件的最佳方法。 可能是/resources/csv/ 第二个问题,从类内引用此路径的最佳方式是什么? 在.env文件中设置abs路径?Php 在Laravel 5文件夹结构中,在何处保存文件?,php,file,laravel,laravel-5,Php,File,Laravel,Laravel 5,我有我的Laravel项目,它将在进行一些计算后保存文件(txt或csv) 我正在寻找保存这些文件的最佳方法。 可能是/resources/csv/ 第二个问题,从类内引用此路径的最佳方式是什么? 在.env文件中设置abs路径? 是否有将返回资源路径的laravel方法?您可以将文件保存在存储文件夹中 例如: 您可以在storage folder中创建名为csv的文件夹,并获得如下路径: storage_path().'/csv'; 您可以在中找到存储文件夹 Laravel 4.2:应用程序
是否有将返回资源路径的laravel方法?您可以将文件保存在存储文件夹中 例如: 您可以在storage folder中创建名为csv的文件夹,并获得如下路径:
storage_path().'/csv';
您可以在中找到存储文件夹 Laravel 4.2:应用程序>存储
Laravel 5+:根目录中的资源不是最佳位置,因为此文件夹用于源文件,通常存储在源代码存储库(例如git)中 应用程序生成的文件通常位于/storage文件夹中的某个位置—只需在那里创建一个/storage/csv文件夹即可 永远不要直接从类中引用这些文件。Laravel的文件系统正是您所需要的-您可以在此处阅读有关它们的更多信息:。它们使对文件的操作(如读取、写入、预处理、追加、删除、移动、获取所有文件等)更加简单 从在config/filesystems.php中定义文件系统开始
'disks' => [
'csv' => [
'driver' => 'local',
'root' => storage_path().'/csv',
],
],
现在,您可以通过存储facade从代码中的任何位置读取/写入csv文件,如下所示:
Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
存储器_path()中的文件不能直接访问。Laravel的文件系统应该用于此目的——我当前的需要是创建文件,然后在同一执行中使用它。不具有“永久”文件引用。不管怎样,你提供的解决方案非常棒。谢谢,如果csv文件夹中有多个子文件夹。您建议如何直接访问它们?在config/filesystems.php中更好地定义更具体的条目?或者像Storage::disk('csv')。“/mysubdir/。/”(还不知道如何正确写入此文件…)将文件夹包含在传递给put/get的文件名中,例如->put('folder/file.csv',$content)。
public function storePhotos($data, Request $request, $requirement)
{
//setlocale(LC_ALL, 'en_US.UTF-8'); //for spanish names
$fileUploaded = $request->file('someVarFormName');
$folder = 'docs/';
$destinationFolder = date("Y-m");
$destinationFolderInServer = $folder.$destinationFolder;//.'/';
//$rules = array('file' => 'required|mimes:png,gif,jpeg,txt,pdf,doc,docx,exel,exelx'); //'required|mimes:png,gif,jpeg,txt,pdf,doc'
$validator = Validator::make(array('file' => $fileUploaded), $rules);
if($validator->passes())
{
$originalFileName = $fileUploaded->getClientOriginalName();
$fileName = pathinfo($originalFileName, PATHINFO_FILENAME);
$fileExtension = strtolower(pathinfo($originalFileName, PATHINFO_EXTENSION));
$linkFilenameTemp = strtolower(ToolText::createLink($fileName));
$linkFilename = $linkFilenameTemp.'.'.$fileExtension;
//get versioin number if filename exist
$i = 1;
while(file_exists($destinationFolderInServer.'/'.$linkFilename))
{
$linkFilename = $linkFilenameTemp.'('.$i.').'.$fileExtension;
$i++;
}
//* quitar / si falla
$upload_success = $fileUploaded->move($destinationFolderInServer, $linkFilename);
$dbRegOfFile = NULL;
if($requirement->have_file)
$dbRegOfFile = new mdl_TramitesRequisitosFiles();
else
$dbRegOfFile = mdl_TramitesRequisitosFiles::where('requisito_id', $requirement->id)
->get();
$dbRegOfFile->requisito_id = $data['requirementId'];
$dbRegOfFile->publisher = $data['publisher'];
$dbRegOfFile->publisher_entity = $data['publisher_entity'];
$dbRegOfFile->nice_name = $fileName;
$dbRegOfFile->link_file_name = $linkFilename;
$dbRegOfFile->extension = $fileName;
$dbRegOfFile->size = $fileUploaded->getClientSize();
$dbRegOfFile->save();
}