私は画像をサーバーにアップロードし、画像アドレス(および/または追加のhtmlコード)を含むphp文字列を返す単純なフォームを持っています。これは、JqueryFormプラグインを使用して行われます。私が欲しいもの:PHPファイルによって返される値(文字列)はjqueryに返される必要があるので、その画像のURLを使用していくつかの要素のbckgroundとして設定できます:
これがphpファイルです(画像を更新するため):
$ 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 + ')');
ここで、画像はcssによってti#mainに割り当てられます。(imageUrlは、上記のphpファイルの文字列です:$ actual_image_name)
これは可能ですか、または少なくともいくつかの同様の解決策がありますか?