我试图用PHP创建一个基本的新闻系统,我即将完成,但我在图片上传部分有一点问题。问题是当我尝试在超过一定大小时调整图像大小。图像上传正确但处于空状态:图像为黑色。 当我以html的形式上传图像时,它会显示以下警告:
警告:imagecopyresampled()期望参数2是资源, C:\ USBWebserver中给出的字符串 第116行的v8.6 \ root \ CCCHermosillo \ anadir_noticia.php
这是图片上传的部分:
if($_POST['añadir']) {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
if($_FILES['image']['size'] < 500000) {
copy($_FILES['image']['tmp_name'], "C:/USBWebserver v8.6/root/CCCHermosillo/image_upload/".$_FILES['image']['name']);
$subio = true;
}else{
// $ruta_imagen = $_FILES['image']['name'];
$ruta_imagen = $_FILES['image']['tmp_name'];
$miniatura_ancho_maximo = 200;
$miniatura_alto_maximo = 200;
$info_imagen = getimagesize($ruta_imagen);
$imagen_ancho = $info_imagen[0];
$imagen_alto = $info_imagen[1];
$imagen_tipo = $info_imagen['mime'];
$lienzo = imagecreatetruecolor( $miniatura_ancho_maximo, $miniatura_alto_maximo );
switch ( $imagen_tipo ){
case IMAGETYPE_JPEG:
$imagen = imagecreatefromjpeg( $ruta_imagen );
break;
case IMAGETYPE_PNG:
$imagen = imagecreatefrompng( $ruta_imagen );
break;
case IMAGETYPE_GIF:
$imagen = imagecreatefromgif( $ruta_imagen );
break;
}
imagecopyresampled($lienzo, $imagen, 0, 0, 0, 0, $miniatura_ancho_maximo, $miniatura_alto_maximo, $imagen_ancho, $imagen_alto);
imagejpeg( $lienzo, ("C:/USBWebserver v8.6/root/CCCHermosillo/image_upload/".$_FILES['image']['name']), 90 );
$subio=TRUE;
}
}
if($subio) {
echo "<br>El archivo subio con exito";
} else {
echo "<br>El archivo no cumple con las reglas establecidas";
}
die();
}
警告在此行中给出:
imagecopyresampled($lienzo, $imagen, 0, 0, 0, 0,$miniatura_ancho_maximo,$miniatura_alto_maximo, $imagen_ancho, $imagen_alto);