我有一个代码来上传图片。上传图片后,用户可以裁剪它。然后,使用$new_name
调用图片。我唯一的问题是,在$new_name
中,$_GET['MomentEvent']
从未出现在图片名称中。但当我回应它时,它似乎正常。那么,我怎么能让它出现在$new_name
呢?
有关信息,MomentEvent
指的是每个新页面的唯一键。因此,当用户上传图片时,它只会在页面上显示带有好MomentEvent
的图片。
编辑:看起来问题来自这一行:echo $new_name."?".time();
,因为当我尝试回复$_GET['MomentEvent']
时,没有任何事情发生。
编辑2:看起来这个问题来自if(isset($_GET['t']) and $_GET['t'] == "ajax")
,导致最后一个回声,它在外面,所有工作,但内部回声,没有任何效果。但我仍然不知道出了什么问题......
<?php
include('db.php');
session_start();
$session_id=$_SESSION['id']; // Or Session ID
$actual_image_name = time().substr($txt, 5).".".$ext;
$t_width = 450; // Maximum thumbnail width
$t_height = 150; // Maximum thumbnail height
$new_name = "$actual_image_name".$_GET['MomentEvent'].".jpg"; // Thumbnail image name
$path = "images/";
if(isset($_GET['t']) and $_GET['t'] == "ajax")
{
extract($_GET);
$ratio = ($t_width/$w);
$nw = ceil($w * $ratio);
$nh = ceil($h * $ratio);
$nimg = imagecreatetruecolor($nw,$nh);
$im_src = imagecreatefromjpeg($path.$img);
imagecopyresampled($nimg,$im_src,0,0,$x1,$y1,$nw,$nh,$w,$h);
imagejpeg($nimg,$path.$new_name,90);
mysql_query("UPDATE users_event SET image_small='$new_name' WHERE MomentEvent='".$_GET['MomentEvent']."'");
echo $new_name."?".time();
exit;
}
echo $new_name;
?>
答案 0 :(得分:0)
不要使用提取物。通常使用它是不好的做法,但尤其是在_get变量上...它会打开DOS攻击,在那里有人可以使用数百个不需要的变量来填充查询字符串。
http://php.net/manual/en/function.extract.php
只需单独引用关联数组项。