私は現在オンラインプロジェクトで働いています。ユーザーが自分のイメージをアップロードし、そのイメージが最初に "uploads"ディレクトリのようなサーバーフォルダに保存されます。そして、ファイルがそのuploadsディレクトリに移動すると、 mysqlクエリを使用してmysqlデータベースに挿入されます。 しかし、問題is..the画像をWebページにロードするために長い時間がかかります...私は、データベースおよびサーバーにアップロードする前に画像のサイズを小さくしたい。..php pdo mysqlのデータベースにアップロードする前に、画像の品質を落とさずに画像を圧縮する方法は?
ここに私のコードは
ある$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 1000000){
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
}
そして、データベースが非常に急速に成長し、5月には、パフォーマンスにつながり、将来の問題を維持する - 私のクエリは...
if(!isset($errMSG))
{
$stmt = $user_home->runQuery("INSERT INTO cam_info (userID,
cam_name,
cam_model,
pixels,
photoshoot,
cam_rent,
cam_img,
mobile,
state,
address,
upd_date,
code)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ");
$stmt->bindParam(1,$id);
$stmt->bindParam(2,$cam_name);
$stmt->bindParam(3,$modelname);
$stmt->bindParam(4,$pixel);
$stmt->bindParam(5,$photoshoot);
$stmt->bindParam(6,$rentpday);
$stmt->bindParam(7,$userpic);
$stmt->bindParam(8,$usermob);
$stmt->bindParam(9,$state);
$stmt->bindParam(10,$useraddrs);
$stmt->bindParam(11,$upd_date);
$stmt->bindParam(12,$ucode);
if($stmt->execute())
{
$successMSG = "Record saved success";
}
else
{
$errMSG = "error while inserting....";
}
屋私見ほとんどの画面に表示するだけで罰金になり、画像の画像の最大寸法を決める考えます正確に@ ino ..私は直接データベースに画像を格納していません...私はjstストアの画像のパスthats it.but私の問題は..私jstはディレクトリをアップロードする前にサイズを縮小したい.. –
その後、元のタイトルは "どのようにPHPのpdo mysqlでデータベースにアップロードする前に品質を失うことなく画像を圧縮するか? – ino