-1

画像のサイズを変更してサーバーに保存しようとしています。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を使用していますが、これは物事を簡単にするだろうと思っていましたが、機能していません。サイズ変更パスまたは出力パスを混乱させている可能性があると思いますが、完全にはわかりません。どんなヒントでも本当に役に立ちます

4

1 に答える 1

1

サーバー上の相対パスまたは絶対パスではなく、画像を URL に保存しようとしていることが原因である可能性があります。コードを見ると、場所は HTTP パスとして設定されています。

于 2013-05-17T17:57:50.027 に答える