21,886
社区成员
发帖
与我相关
我的任务
分享
<html>
<title>图片上传样例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<div style="width: 500px; text-align: left;">
<?php
//如果收到提交请求
if ($_POST['submitted'] == "yes"){
$goodtogo = true;
//检查图片是否是0长度.
try {
if ($_FILES['image']['size'] == 0){
$goodtogo = false;
throw new exception ("对不起,不能上传其它格式图片.");
}
} catch (exception $e) {
echo $e->getmessage();
}
//检查文件大小.
try {
if ($_FILES['image']['size'] > 500000){
$goodtogo = false;
//显示错误信息.
throw new exception ("对不起,图片文件不能超过: " . intval ($_FILES['image']['size'] / 1000) . "KB");
}
} catch (exception $e) {
echo $e->getmessage();
}
//允许上传的mime类型,本例中只允许jpg格式,您可自行添加
$allowedmimes = array ("image/jpeg","image/pjpeg");
try {
if (!in_array ($_FILES['image']['type'],$allowedmimes)){
$goodtogo = false;
throw new exception ("错误,文件类型必须为 .jpg文件. 我们上传的文件类型为: " . $_FILES['image']['type'] . "");
}
} catch (exception $e) {
echo $e->getmessage ();
}
//如果通过提交,则移动到目录中,显示之.
if ($goodtogo){
try {
if (!move_uploaded_file ($_FILES['image']['tmp_name'],"uploads/".$_FILES['image']['name'].".jpg")){
$goodtogo = false;
throw new exception ("上传文件的uploads目录有错误,请检查属性.");
}
} catch (exception $e) {
echo $e->getmessage ();
}
}
if ($goodtogo){
//显示新上传的图片
?><img src="uploads/<?php echo $_FILES['image']['name'] . ".jpg"; ?>" alt="" title="" /><?php
}
?><br /><a href="Javascript:history.back(-1)">再次上传</a><?php
}
//显示表单.
if ($_POST['submitted'] != "yes"){
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="submitted" value="yes" />
图片上传 (只能上传.jpg文件, 文件大小不能超过500KB):<br /> <input type="file" name="image" /><br />
<input type="submit" value="提交" style="margin-top: 10px;" />
</form>
<?php
}
?>
</div>
</body>
</html>
<?php
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
MagickSetFormat($resource, 'JPG');
MagickSetImageCompression($resource, MW_JPEGCompression);
//压缩后的损失率,80%为较高,数越小,则失真越大
MagickSetImageCompressionQuality($resource, 80.0);
header( 'Content-Type: image/gif' );
MagickEchoImageBlob( $resource );
?>
<?php
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
//将原图片宽度重新缩放为100x100
MagickResizeImage( $resource, 100, 100, MW_QuadraticFilter, 1.0 );
header( 'Content-Type: image/gif' );
MagickEchoImageBlob( $resource );
?>
<?php
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
MagickCropImage( $resource, 200, 50, 0, 0 );
header( 'Content-Type: image/jpeg' );
MagickEchoImageBlob( $resource );
?>