首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有用户输入的情况下从浏览器上传php文件

问如何在没有用户输入的情况下从浏览器上传php文件
EN

Stack Overflow用户
提问于 2014-05-13 08:07:00
回答 3查看 142关注 0票数 0

我正在做一个php网络应用程序。我需要上传一个文件到web服务器,与客户信息- customers.csv。但这个过程需要自动化,

该文件将生成在一个销售点应用程序,该应用程序可以打开一个浏览器窗口与网址.

首先,我教我会做这样的事情: www.a.com/upload/&file=customers.csv,但是在这里读是不可能的,

然后我教我设置文件上传字段的值,然后在x秒后自动提交表单。发现这是不可能的。

任何有解决办法的人,都将不胜感激。

编辑

我试过了,它可以工作,文件被上传到远程服务器,是不是因为php脚本运行在csv所在的同一台pc上?

代码语言:javascript
复制
$file = 'c:\downloads\customers.csv';
                $remote_file = 'customers.csv';

                // set up basic connection
                $conn_id = ftp_connect('host.com');

                // login with username and password
                $login_result = ftp_login($conn_id,'user','password');

                // upload a file
                if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
                 echo "successfully uploaded $file\n";
                } else {
                 echo "There was a problem while uploading $file\n";
                }

                // close the connection
                ftp_close($conn_id);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-13 08:29:30

这有点棘手,但是如果您的CSV不是太长,您可以在base64中对它进行编码,将其作为GET参数发送到GET服务器,然后在服务器端解码并存储为CSV文件。

如果文件太大,您必须使用其他方法,如@D.Schalla所指向的java applet,甚至安装和配置FTP服务器,并使Point应用程序将文件上传到那里。

其他的选择,特别好,如果你不能修改销售应用,是安装一个web服务器在客户端,并编写一个小的php脚本来处理上传过程。通过这种方式,该销售应用程序可以调用本地url (类似于http:// localhost/upad.php),这个脚本负责上传文件,可以通过传统的HTTP POST、FTP连接或任何其他您可以想到的方式来实现。

票数 1
EN

Stack Overflow用户

发布于 2014-05-13 08:12:09

当然,这是不可能的,想象一下如何滥用它在linux上上传,例如/etc/passwd。唯一可能的方法是使用Java,但这肯定不是最好的方法。

您可以尝试让您的PoS应用程序使用customers.csv文件制作web请求,并让WebAPI处理上传,这可能是可能的,但我对销售点应用程序没有任何解释。

最好是,如果上面的解决方案不能考虑,只需提示用户提供上面的文件,并检查名称+内容,如果它是正确的。

票数 2
EN

Stack Overflow用户

发布于 2014-05-13 10:34:51

我的解决方案,它将在客户端设置web服务器时工作。

这是针对windows的,但可以适应linux。

客户端的

本地应用程序打开cmd并运行此命令ftp -n -s:C:\test.scr

它打开test.scr -一个包含ftp命令的文件。

代码语言:javascript
复制
open host.com
user1
passwOrd
put C:\downloads\customers.csv public_html/customers.csv

更多信息在这里:http://support.microsoft.com/kb/96269

更多命令:http://www.nsftools.com/tips/MSFTP.htm#put

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23625863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档