我有一個簡單的形式,上傳圖像到服務器並返回包含圖像地址(和/或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