如何使用ajax和php来复制文件

时间:2013-12-23 19:33:12

标签: php ajax

我有一个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?

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

1 个答案:

答案 0 :(得分:3)

您可以在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函数中。

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

在PHP脚本中执行以下操作:

<?php

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

使用$ _POST ['action']检查是否收到变量 如果收到,则检查是否要复制操作。如果是,则可以使用复制功能。

这样,您可以在脚本中添加更多功能。例如,您可以将名为action的变量发送到值为'delete'的PHP脚本。在PHP中,您可以这样检查:

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

注意:必须包含jQuery库