2017-07-07 66 views
0

我在表格上有一個文件路徑,我想要做的是從文件路徑創建圖像,然後保存'新'文件具有不同的名稱。因爲我只有文件路徑,所以我現在沒有如何創建圖像對象,以便我可以getClientOriginalExtension();並將其保存到數據庫。我曾嘗試以下:從文件路徑複製圖像,更改名稱並將其保存到laravel中的其他表格

$img = $var->image_path; 
$file = file_get_contents($img); 
$filename = time() . '.' . $file->getExtension(); 

Image::make($file)->resize(300, 300)->save(public_path('/test' . $filename)); 

然而,腳本錯誤:Call to a member function getExtension() on string這將是與文件路徑的正確方法,創建對象,更改文件的名稱,確保正確的擴展設置(可能外此q的範圍),然後將新創建的映像保存到不同的文件夾,並將新創建的映像路徑保存到數據庫。

我希望這是有道理的。

更新:我應該使用file_put_contents()來代替嗎?

回答

0

使用copy()實現了我想要的效果,並遍歷每個圖像並相對調整圖像。

$title = $var->name; 
$string = str_replace(' ', '-', $title); // Replaces all spaces with hyphens. 
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. 

copy($img, public_path('/test' . $string . time())); 

http://php.net/manual/en/function.copy.php

相關問題