我有一个PHP代码,可以让用户小心上传图片。
此代码位于“miniature.php”文件中,它为每个新图片创建一个文件。
将图片上传到另一个文件(userform)后,会显示预览(缩略图)。
然而,这是一个死链接(我可以看到一点破碎的图片)。 URL就是这样:
另一方面,下面的网址可以显示原始图片:
http://www.mywebsite.com/annonce/upload/XStmQFRY/PICTURE_UPLOADED.JPG
如果您有任何想法......请不要犹豫!
谢谢:)
miniature.php代码:
<?php
error_reporting(E_ALL ^ E_NOTICE);
$taille = getimagesize($pic);
$h_i = $taille[1];
$w_i = $taille[0];
if($h_i >$h_max)
{
$convert=$h_max/$h_i;
$h_i=$h_max;
$w_i=ceil($w_i*$convert);
}
if($w_i >$w_max)
{
$convert=$w_max/$w_i;
$w_i=$w_max;
$h_i=ceil($h_i*$convert);
} ;
$largeur = $w_i;
$hauteur = $h_i;
header("Content-Type: image/jpeg");
list($width, $height, $type, $attr) = getimagesize($pic);
if($type == "1")
{
$img_in = imagecreatefromgif($pic);
}
if($type == "2")
{
$img_in = imagecreatefromjpeg($pic);
}
if($type == "3")
{
$img_in = imagecreatefrompng($pic);
}
$img_out = imagecreatetruecolor($largeur, $hauteur);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
$t = imagejpeg($img_out);
echo $t;
?>
upload-file.php代码:
<?php
$repdossier = $_GET['repdossier'];
$uploaddir = 'upload/'.$repdossier.'/';
$file = $uploaddir . basename($_FILES['uploadfile']['name']);
$dir2 = opendir("upload/$repdossier/");
$getpages=0;
while ($File = readdir($dir2)){
if($File != "." && $File != ".." && $File != "" )
{ $getpages++;
}
}
closedir($dir2);
$calcul = $getpages;
if( @is_file($file) )
{
echo "error2";
}
else
{
if( $calcul >= 5)
{
echo "error1";
}
else
{
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
echo "success";
} else {
echo "error";
}
}
}
?>
从all-index.php中提取Javascript(显示生成的URL):
if(response==="success"){
$('<li></li>').appendTo('#files').html('<img src="miniature.php?pic=upload/<?php echo $repdossier; ?>/'+file+'&w_max=70&h_max=60" height="60" width="70" alt="" /><br />').addClass('success');
}
答案 0 :(得分:0)
您编辑了问题,删除了错误的代码并输入了一些无关的Javascript。
错误在于:
<?php
error_reporting(E_ALL ^ E_NOTICE);
$taille = getimagesize("$pic");
$pic
必须是现有图片的有效路径。截至目前,该变量为空(未定义)。