我有一个页面,用户可以将图像上传到该页面,然后使用jquery draggable和jquery resizable四处移动和调整大小。
要保存到服务器的多个请求,是否可以使用本地存储的图像版本来加快速度,然后有一个保存按钮,只有在请求时才会将图像上传到服务器。
我尝试过这样做,但没有成功,因为我只得到文件的临时位置
<?
$posted=$_REQUEST['posted'];
if($posted!='')
{
$image = $_FILES['file']['tmp_name']."/".$_FILES['file']['name'];
?><img src="<? echo $image ?>" width="480" height="360" /><?
echo "posted=".$image;
}
?>
<form action="#" enctype="multipart/form-data" method="post">
<input type="hidden" name="posted" value="1" />
<input type="file" id="file" name="file" size="30" />
<input name="submit" type="submit" value="send" />
</form>
这可能吗?
您必须使用move_uploaded_file()
将上传的文件移动到您想要的目的地。
如果你的意思是"在用户的浏览器中调整用户计算机上的图像大小,然后在裁剪完成后上传",那么不。
据我所知,除非你使用Flash或Java插件,否则这是不可能的。
$_FILES['file']['tmp_name']
变量包含上载文件在服务器上的临时位置。临时文件会定期删除,因此要将上传的文件保留在服务器上,您需要使用move_uploaded_file()
。
根据手册,超全局$_FILES
是
An associative array of items uploaded to the current script via the HTTP POST method.
所以为了使用这个全局,你必须上传图片。我想说的是,在使用jquery上传图像后,只有在用户选择了他想要的尺寸后,才使用move_uploaded_file()
,这样就可以避免向服务器发出多次请求。
仅使用javascript和PHP是不可能按照您建议的方式进行操作的。至少据我所知。