按http://topic.csdn.net/u/20110524/17/c2346fb6-75cf-4230-9b1f-7021af05ea3a.html的文章,别人做出来了,我却怎么都弄不出来,请问到底问题出在哪里了呢?实际是和此篇文章的代码基本相同。用的dsoframer2.3.0.0.不是main.php没加一些报文造成的吧?oframe.HttpPost提交过去的内容总是空的!测试文件中总不能获得提交的内容,将其写到test.txt中。我没学过php,只有请各位多指教了,多谢了!源码如下,main.php:
<script type="text/javascript">function SaveToWeb() {
var returnValue,file,aa;// 保存页面的返回值 alert("1");
alert(document.all.oframe2.HttpInit()); // 初始化Http引擎
alert("2");
// 添加相应的Post元素
alert(document.all.oframe2.HttpAddPostString("ID","111.ppt")); // 添加上传文件
alert("3");
alert(document.all.oframe2.HttpAddPostCurrFile("File", ""));
// 提交上传文件
alert("4");
returnValue = document.all.oframe2.HttpPost("http://localhost/sugarcrm/OA/savedoc.php");
alert(returnValue ); alert("5");
if("true" == returnValue){
alert("文件上传成功");
} else {
alert("文件上传失败")
}
}
<body bgcolor="#ffffff" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" onload='OpenWebDoc()'>
<form action="savedoc2.php" method="post" enctype="multipart/form-data">
<input type="text" size="20" name="hello" />
<input type="submit" value="提交hello变量" />
<table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#f1f1f1">
<tr align="left">
<td class="fontSize1">
<input type="submit" value=保存到服务器上 name="saveServer" LANGUAGE=javascript onclick="return SaveToWeb()">
</td>
</tr>
</table></form> savedoc.php的源码:
<?php
echo("Call savedoc begin:");$file = fopen("a.txt","w");
fputs($file,"Hello World. Testing!");
$aa =$_POST["ID"];
//$aa =$_GET["ID"];if ($aa=''){echo "id==000";} else{file_put_contents("test.doc",$aa);
fputs($file,$aa);}
if ($_FILES["FileData"]["error"] > 0)
{
echo "Return Code: " . $_FILES["FileData"]["error"] . "<br />"; }
else
{
echo "Upload: " . $_FILES["FileData"]["name"] . "<br />";
echo "Type: " . $_FILES["FileData"]["type"] . "<br />";
echo "Size: " . ($_FILES["FileData"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["FileData"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["FileData"]["name"]))
{
echo $_FILES["FileData"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["FileData"]["tmp_name"],
"upload/" . $_FILES["FileData"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["FileData"]["name"];
}
}
?>
<script type="text/javascript">function SaveToWeb() {
var returnValue,file,aa;// 保存页面的返回值 alert("1");
alert(document.all.oframe2.HttpInit()); // 初始化Http引擎
alert("2");
// 添加相应的Post元素
alert(document.all.oframe2.HttpAddPostString("ID","111.ppt")); // 添加上传文件
alert("3");
alert(document.all.oframe2.HttpAddPostCurrFile("File", ""));
// 提交上传文件
alert("4");
returnValue = document.all.oframe2.HttpPost("http://localhost/sugarcrm/OA/savedoc.php");
alert(returnValue ); alert("5");
if("true" == returnValue){
alert("文件上传成功");
} else {
alert("文件上传失败")
}
}
<body bgcolor="#ffffff" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" onload='OpenWebDoc()'>
<form action="savedoc2.php" method="post" enctype="multipart/form-data">
<input type="text" size="20" name="hello" />
<input type="submit" value="提交hello变量" />
<table cellpadding="0" cellspacing="0" border="0" width="100%" bgcolor="#f1f1f1">
<tr align="left">
<td class="fontSize1">
<input type="submit" value=保存到服务器上 name="saveServer" LANGUAGE=javascript onclick="return SaveToWeb()">
</td>
</tr>
</table></form> savedoc.php的源码:
<?php
echo("Call savedoc begin:");$file = fopen("a.txt","w");
fputs($file,"Hello World. Testing!");
$aa =$_POST["ID"];
//$aa =$_GET["ID"];if ($aa=''){echo "id==000";} else{file_put_contents("test.doc",$aa);
fputs($file,$aa);}
if ($_FILES["FileData"]["error"] > 0)
{
echo "Return Code: " . $_FILES["FileData"]["error"] . "<br />"; }
else
{
echo "Upload: " . $_FILES["FileData"]["name"] . "<br />";
echo "Type: " . $_FILES["FileData"]["type"] . "<br />";
echo "Size: " . ($_FILES["FileData"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["FileData"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["FileData"]["name"]))
{
echo $_FILES["FileData"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["FileData"]["tmp_name"],
"upload/" . $_FILES["FileData"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["FileData"]["name"];
}
}
?>
if ($aa=='')
但是savedoc.php中解析的是 FileData 。 二者的字符串不匹配。需要改成一样的。