PHP和AJAX图像标头未被读取

时间:2012-03-11 21:52:06

标签: php ajax

我使用下面的脚本动态创建图像,并通过ajax和div显示它们但是没有读取PHP图像标题而是显示图像而我只是获取图像源代码。任何想法如何强制php将标题读作图像?

<?php
header('Content-Type: image/jpeg'); // JPG picture
$root = $_SERVER['DOCUMENT_ROOT'];
require("$root/include/mysqldb.php");                     //mysql login details
require("$root/include/mysql_connect.php");               //mysql connect

if(!empty($small))   { $size = "50"; $folder = "thumnail_user_images"; } else { $size = "250"; $folder = "large_user_images"; }



$dice_image = $_GET["image"];

if (!file_exists("$root/$folder/$dice_image"))
 {
   require("$root/include/image_resizing_function.php");     //create image
   $image = new SimpleImage();
   $image->load("$root/raw_user_images/$dice_image");
   $image->resizeToWidth($size);
   $image->save("$root/$folder/$dice_image");
   $image->output();


}

else {


readfile("$root/$folder/$dice_image");


}  

这是用于交换图像的Ajax:

<script type="text/javascript">

var bustcachevar=1
var loadedobjects=""
var rootdomain="https://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest)
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar)
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){
if (file.indexOf(".js")!=-1){
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" "
}
}
}

</script>

1 个答案:

答案 0 :(得分:1)

确保在require语句引用的php文件中关闭?>后没有多余的空格。我遇到了这个问题,在找到答案之前已经抓了好几天。