2013-05-17 36 views
-1

我想調整圖像大小並將其保存到我的服務器。我想出瞭如何從URL中保存圖像,但是我想調整圖像大小並將其保存在完全相同的位置。這是我目前使用的腳本。它正在保存圖像,但調整大小不起作用。使用PHP來調整圖像從URL保存到服務器之前

$cover = $_POST['cover']; 
$title = $_POST['title']; 
$artist = $_POST['artist']; 
$date = date('Y-m-d', strtotime($_POST['date'])); 


$url = $cover; 
$save_name = $artist."_".$title.".jpg"; 
$save_name = str_replace(' ','',$save_name); 
$save_directory = $_ENV["DOCUMENT_ROOT"]."/albums/images/art/"; 

if(is_writable($save_directory)) { 
    file_put_contents($save_directory . $save_name, file_get_contents($url)); 
} else { 
    exit("Failed to write to directory ".$save_directory); 
} 

$location = "http://www.MYURL.com/albums/images/art/".$save_name; 
$sql = "INSERT INTO albums (artist, title, date, cover) VALUES ('".$artist."', '".$title."', '".$date."', '".$location."')"; 
mysql_query($sql); 



include("resize-class.php"); 
$resizeObj = new resize($location); 
$resizeObj -> resizeImage(150, 150, 'exact'); 
$resizeObj -> saveImage($save_name, 100); 

我使用的是resize-class.php,我認爲這會讓事情變得簡單,但它不工作。我想我可能會混淆我的調整路徑或輸出路徑,但我不完全確定。任何提示將真正有幫助

+0

ok,但您使用save_name,它只有名稱,您不指向文件夾的位置。 File.jpg(你用什麼) /home/user/images/destiny/File.jpg 你應該使用什麼。 檢查該文件沒有保存在另一個地方 – Lefsler

+0

試試這個太檢查'gd'安裝'如果(extension_loaded( 'GD')&& function_exists( 'gd_info')){ \t \t回聲 「

"; var_dump(gd_info()); echo "
」; \t} –

+0

[「GD Version」] => string(27)「捆綁(2.0.34兼容)」 – patricko

回答

1

我認爲這可能是因爲你試圖將圖像保存到一個URL,而不是服務器上的相對或絕對路徑。如果你看看你的代碼,該位置被設置爲一個HTTP路徑。

+0

我不知道?我如何檢查。我正在使用bluehost – patricko

+0

以下是我發現可能會幫助您檢查的內容:http://www.bluehostforum.com/showthread.php?650-GD-Library !!!-Most-important-for-some-scripts-have -we-got-that – probablyup

+1

這應該是一個評論,它不回答這個問題。 –

相關問題