我有一个简单的形式,上传图像到服务器并返回包含图像地址(和/或aditional html代码)的PHP字符串。它使用JqueryForm插件完成。我想要的:由PHP文件返回的值(字符串)需要返回给jquery,所以我可以使用该图像url将其设置为某个元素的背景:返回php字符串到jquery
这里是php文件(用于uplaoding图像) :
$ path =“uploads /”;
$valid_formats = array("jpg", "png", "bmp");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
echo $actual_image_name; //This is returned, i want thist to be somehow "converted" to jquery
}
else
echo "Sending failed!";
}
else
echo "May filesize 1 Mb!";
}
else
echo "Unknown ffile format!";
}
else
echo "Select image for sending";
exit;
}
而且,这里是jQuery代码用于发送图像:
$('#photoimg').live('change', function() {
$("#main").html('');
$("#main").html('<img src="/uploader/loader.gif" class="vk_upload_bar" alt="Uploading...."/>');
$("#imageform").ajaxForm({
target: '#main'
}).submit();
});
不知何故,而不是:
target: '#main'
这使#main的里面的一些HTML,我需要这个:
$('#main').css('background-image', 'url(' + imageUrl + ')');
其中图像将被指派为ti #main by css。 (imageUrl是上面的php文件中的字符串:$ actual_image_name)
这是可能的,或者至少是否有一些类似的解决方案?
哇,tnx的人,效果很好,但只有一件事,现在“loader.gif”图像永远留在那里,上传完成后不会隐藏。这是我的Opera错误控制台所说的:[28.5.2012 17:52:55] JavaScript - [28.5.2012 17:52:55] JavaScript - http://domain.com/products-page/product-category/ test/ console.log [jquery.form] state = complete [28.5.2012 17:52:56] JavaScript - http://domain.com/products-page/product-category/test/ console.log [jquery.form] isXml = false' – SomeoneS
我的朋友,用于删除加载程序。GIF你只是将其删除之前更改CSS 成功:功能(数据){ \t \t ** $( '#主')HTML( ''); ** $( '#主')的CSS。 ('background-image','url('+ data +')'); } – zhilevan
Tnx再次,我已经删除它,我加$('。upload_bar')。fadeOut('medium'); :) – SomeoneS