部分回答question如何保存上傳的圖像名稱在MySQL數據庫中的這個
我有上傳一個裁剪圖像3種不同的寬度和高度
- 化身 PHP代碼的下方寬度和高度目錄200 * 200
- avatar1目錄寬度和高度500 * 500
- avatar2目錄寬度和高度700 * 700
和重命名的圖像與MD5隨機的。
<?php
function uploadImageFile() { // Note: GD library is required for this function
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$iJpgQuality = 100;
if ($_FILES) {
// if no errors and size less than 250kb
if (! $_FILES['image_file']['error'] && $_FILES['image_file']['size'] < 250 * 1024) {
if (is_uploaded_file($_FILES['image_file']['tmp_name'])) {
if (!is_dir('avatar')) {
mkdir('avatar');
}
// new unique filename
$sTempFileName = 'avatar/' . md5(time().rand());
// move uploaded file into cache folder
move_uploaded_file($_FILES['image_file']['tmp_name'], $sTempFileName);
// change file permission to 644
@chmod($sTempFileName, 0644);
$sResultFileName = copyImageFile('avatar', $sTempFileName, 200, 200, $iJpgQuality);
if ($sResultFileName) {
copyImageFile('avatar1', $sTempFileName, 500, 500);
copyImageFile('avatar2', $sTempFileName, 700, 700);
@unlink($sTempFileName);
return $sResultFileName;
}
}
}
}
}
return false;
}
function copyImageFile($dirName, $originImageName, $iWidth, $iHeight, $iJpgQuality = 90) {
if (file_exists($originImageName) && filesize($originImageName) > 0) {
$aSize = getimagesize($originImageName); // try to obtain image info
if (!$aSize) {
@unlink($originImageName);
return;
}
// check for image type
switch($aSize[2]) {
case IMAGETYPE_JPEG:
$sExt = '.jpg';
$vImg = @imagecreatefromjpeg($originImageName);
break;
/*case IMAGETYPE_GIF:
$sExt = '.gif';
// create a new image from file
$vImg = @imagecreatefromgif($sTempFileName);
break;*/
case IMAGETYPE_PNG:
$sExt = '.png';
$vImg = @imagecreatefrompng($originImageName);
break;
default:
@unlink($originImageName);
return;
}
// create a new true color image
$vDstImg = @imagecreatetruecolor($iWidth, $iHeight);
// copy and resize part of an image with resampling
imagecopyresampled($vDstImg, $vImg, 0, 0, (int)$_POST['x1'], (int)$_POST['y1'], $iWidth, $iHeight, (int)$_POST['w'], (int)$_POST['h']);
// define a result image filename
if (!is_dir($dirName)) {
mkdir($dirName);
}
$newImageName = $dirName . DIRECTORY_SEPARATOR . md5(time().rand()) . $sExt;
// output image to file
imagejpeg($vDstImg, $newImageName, $iJpgQuality);
//@unlink($sTempFileName);
return $newImageName;
}
return false;
}
$sImage = uploadImageFile();
echo '<img src="'.$sImage.'" />';
?>
我的問題
我要保存3最近上傳的圖片的URL中ara MySQL
數據庫
Avatar
列=圖像的URL其上傳到化身目錄Avatar1
column =上傳到avatar1目錄的圖像的URLAvatar2
柱=圖像的URL,其上傳到avatar2目錄
數據庫名稱:ARA
數據庫用戶:根
數據庫密碼:
數據庫地址:127.0.0.1
表名稱:配置文件
列名稱:頭像,avatar1和avatar2
看看這個http://stackoverflow.com/questions/22269199/php-tot-mysql-image-uploading-not-working/22269447#22269447 – Baig
謝謝@Baig,這是件好事,但它是隻爲一個圖像。請再次閱讀我的問題。 – ARA