Php Laravel文件名包括反斜杠和斜杠
我遇到了以下问题: 我创建了一个简单的图像上传过程,就像这样Php Laravel文件名包括反斜杠和斜杠,php,sql,laravel,mariadb,Php,Sql,Laravel,Mariadb,我遇到了以下问题: 我创建了一个简单的图像上传过程,就像这样 public function postImage($id){ $filename = date('Y-m-d_H:i:s').".jpg"; $note=Note::find($id); $destinationPath='/srv/www/htdocs/example.com/api/public/projects/'.$note->project_id.'/notes/'.$id."/images/
public function postImage($id){
$filename = date('Y-m-d_H:i:s').".jpg";
$note=Note::find($id);
$destinationPath='/srv/www/htdocs/example.com/api/public/projects/'.$note->project_id.'/notes/'.$id."/images/";
$file = Request::file('image');
$file->move($destinationPath, $filename);
$image = new Image;
$image->filename='projects/'.$note->project_id."/notes/images/".$filename;
$image->note_id=$id;
$image->save();
$result= $this->respondWithItem($image, new ImageTransformer);
return $result;
}
当返回文件名时,在本例中,该文件名是从项目开始的文件路径,最后加上它始终返回的文件名
类似的项目\/1\/notes\/images\/2015-03-27_10:44:291.jpg
我当然不想在我的回答中有反斜杠
我使用一个变压器来实现这一点:
<?php namespace App\Http\Controllers;
use Image;
use League\Fractal\TransformerAbstract;
class ImageTransformer extends TransformerAbstract
{
public function transform(Image $image)
{
return [
'id' => (int) $image->id,
'filename' => $image->filename,
'note_id' => $image->note_id,
'updated_at' => strtotime((string)$image->updated_at),
'created_at' => strtotime((string)$image->created_at)
];
}
}
我尝试了从str_replace到文件名上的斜杠,但都没有成功。我是否错过了我做错的事情?
当直接在控制器中返回文件名时,响应是正确的。文件名在数据库中的外观如何?有无反斜杠?数据库已在没有反斜杠的情况下保存它们。我们使用MariaDB