【问题标题】:Have file automatically upload to server when .php is launched启动 .php 时自动将文件上传到服务器
【发布时间】:2017-12-05 19:17:40
【问题描述】:

我正在尝试用 php 编写代码,以便在打开 .php 文件时,它会自动从我的 windows 计算机上的特定文件地址上传到 localhost 服务器。

这是我的尝试,但我不确定我是否完全理解如何在不使用用户指定要上传文件的 HTML 表单的情况下执行此操作。

 <?php
 $target =  'UPLOADED_FILE.csv'; 
 move_uploaded_file('C:\Users\Ken.Feier\Desktop\temp\REPORT.csv', $target);
 ?>

我希望代码从我的个人计算机中获取 REPORT.csv 文件并将其上传到我们的服务器,文件名为 UPLOADED_FILE.csv

更新:我看到我的问题不会用 php 解决。谁能推荐任何其他涉及 Filezilla 或任何其他可以自动化的 FTP 的解决方案?

【问题讨论】:

  • 如果没有 HTML 表单,您将无法做到这一点,不。 PHP 完全在服务器上运行,从不接触本地机器。您引用的 C:\ 驱动器是网络服务器的 C: 驱动器。除非您的意思是上面显示的 PHP 是在您的个人计算机上运行的东西,并且您想将文件发送到网络服务器,否则另一个脚本将处理它?如果是这样,那么您需要向远程服务器的相应 URL 发出 HTTP 请求并将文件发送给它。您的代码的实际情况并不完全清楚。

标签: php csv


【解决方案1】:

这不是应该的。

您需要一个带有 html 表单的页面,该页面将在提交时将数据发送到服务器。请注意,该文件可以存储在您的个人中。

表单代码,例如

<form method="post" action="destination.php" enctype="multipart/form-data">
  <input type="file" name="filename" />
  <input type="submit" value="upload" />
</form>

然后,在服务器上,您可以使用包含文件信息的$_FILES['filename']。请注意,当文件上传到服务器时,它会存储在 tmp 文件夹中,该文件夹是临时的,因此您必须将文件移动到具有 move_uploaded_file(); (move_uploaded_file Docs) 的持久目录中

例如:

<?php

    $file = $_FILES['filename'];
    move_uploaded_file($file['tmp_name'], '/new/destination/for/the/filename.php');

【讨论】:

猜你喜欢
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
相关资源
最近更新 更多