【问题标题】:How to use ajax and php to copy files [duplicate]如何使用ajax和php复制文件[重复]
【发布时间】:2014-01-12 01:17:18
【问题描述】:

我有一个 AJAX 代码;

<script>
function copy_file() {
    $.ajax({
        url: 'copy.php',
        success: function(data) {
        if (data == 'true') {
            alert('The file has been copied');
        }
    }
});        
</script>   

下面是我的 PHP 代码;

<?php
function copyFile($test_image, $base_image) {
    copy($test_image, $base_image);          
}
?>

这里是我的 HTML 代码;

<label><input type="button" name="button" value="copy files" onclick= copy_file('c:\path1','c:\path1')">

如何将多个值(通过值,我的意思是路径)从 AJAX 传递到 PHP?

我做错了什么,我该如何解决?

【问题讨论】:

  • 为什么要在 AJAX 请求中复制文件?
  • AJAX 没有什么。这只是http请求。它们在后台“静默”完成的事实是无关紧要的——它仍然只是一个 HTTP 请求。 EXACT 与普通表单提交相同的机制也适用于 ajax 调用:您需要传递相关信息。
  • 我尝试使用 js activeobject 来复制文件,但它只适用于 ie 和所有浏览器,我需要有复制按钮,我想使用 ajax 和 php。有人可以修复代码吗?

标签: php ajax


【解决方案1】:

您可以在您的 ajax 文件中执行此操作:

<script>

     $('input[type=button]').click(function(){
               $.ajax({
                  type : 'POST',
                  url: 'copy.php',
                  data : {action: 'copy'},
                  success: function(data) {
                  if(data == 'true'){
                  alert('The file has been copied');
                   }
                }
               });

      });
</script>   

解释:点击按钮时,一个 AJAX 请求被发送到 php 文件。 我已经在 ajax 函数中包含了 type 和 data 选项。

数据包含发送到 PHP 脚本的变量。在这种情况下,我将变量命名为“action”。此变量包含的值在冒号后指定(在本例中为它的副本。您可以添加更多)。

在您的 PHP 脚本中执行此操作:

<?php

       if(isset($_POST['action'])){
         if($_POST['action'] == 'copy'){
            copy($test_image, $base_image);          
         }
       }
?>

它检查变量是否被接收,使用 $_POST['action'] 如果收到,它会检查该动作是否要复制。如果是,那么您可以使用复制功能。

这样,您可以在脚本中添加更多功能。例如,您可以向 PHP 脚本发送一个名为 action 的变量,其值为“delete”。在 PHP 中,你可以这样检查:

if($_POST['action'] == 'delete'){
   //Delete file
}

注意:必须包含 jQuery 库

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2014-07-08
    • 2016-08-14
    • 2015-01-03
    • 2019-03-27
    相关资源
    最近更新 更多