文件上传到临时目录后所执行的action可以指定为10.0.0.25上的文件,这个没问题,但如何指定form上传时所用临时目录所在的服务器呢?我想将其也设置为10.0.0.25,能否可行?
<form action="http://10.0.0.25/UpLoadFile/Default.php" method="post" enctype ="multipart/form-data" runat="server">
<input id="File1" runat="server" name="UpLoadFile" type="file" />
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>
<form action="http://10.0.0.25/UpLoadFile/Default.php" method="post" enctype ="multipart/form-data" runat="server">
<input id="File1" runat="server" name="UpLoadFile" type="file" />
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>
应该是我没所清楚,我是想将文件上传到不同的服务器上.
但表单的上传原理是先将文件上传到本服务器localhost的一个临时目录中,再由action指定的程序来处理这个临时文件.
现在我是希望表单将临时文件上传到别的服务器上如10.0.0.25上,能否做到?
不明白你说的localhost的临时目录什么意思。
按照你的实例代码,不就是提交给10.0.0.25服务器上的程序处理吗?
我是指通过表单上传文件时遇到的情况!上传时,无论action如何处对待被上传文件,表单都会在第一时间将文件上传到服务器的一个临时目录中!
我的意思是不希望该文件上传到本地服务器的临时目录,而是上传到别服务器的临时目录!就拿我举的例子来说:
<form action="http://10.0.0.25/UpLoadFile/Default.php" method="post" enctype ="multipart/form-data" runat="server">
<input id="File1" runat="server" name="UpLoadFile" type="file" />
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>我在浏览器里键入http://10.0.0.20/myform.html 显示的页面有包含如上表单代码,当我选择好文件myuploadfile.txt后提交,表单会将myuploadfile.txt提交到10.0.0.20的一个临时目录中(这个临时目录在php.ini中可以设置,linux系统的话大都是在/tmp中)
现在问题来了,我不希望将临时文件提交到10.0.0.20的/tmp里,而是提交给10.0.0.25:/tmp中,这能够做到吗?
诚如你所说的,是提交给action来处理,但是处于服务器端的action脚本凭什么得以处理远在客户端的文件呢?
那是因为在交给action脚本之前,表单将文件先行上传到了php.ini中指定的一个临时目录当中,从而action脚本处理临时目录当中的那个文件!而我正是希望这个临时目录所处的服务器能够由我来选择!
你可以试试修改这个参数到其他服务器上,不过应该是不行的。
如果可以的话,你可以用ini_set()在程序中修改upload_tmp_dir参数。