【问题标题】:Is it Possible To Copy Files PHP via Post Method是否可以通过 Post 方法复制文件 PHP
【发布时间】:2013-09-29 00:12:25
【问题描述】:

我试图将表单表中的选定文件表单复制到 php 中的新文件夹。由于某种原因,我似乎无法弄清楚为什么我的代码无法正常工作。有没有办法通过 POST 方法做到这一点。我基本上只想复制文件,如果有通过 Post 方法从表单表中选择的文件。下面是我的代码的 sn-p...谢谢!!

      <form name="bm_table" action="getsounds.php" method="post">
    <table id="display_user_urls" >
        <?php
        $dir = dir('/upload_sounds');
        echo "<tr>
      <td><strong>Mp3 Files</strong></td>";
        echo "<td><strong>Add Selected Mp3 To Members Page</strong></td>
      </tr>";
        while(false !== ($file = $dir->read())){
            if($file != "." && $file !=".."){
                $file1 = basename($file,".mp3");
         echo "<tr>
             <td><a href=\"".$file1."\">".htmlspecialchars($file1)."</a></td>
             <td><input type=\"checkbox\" name=\"add[]\"value=\"".$file1."\"/></td>
              </tr>";
            }
        }
        echo  "<input id=\"add_mp3\" type=\"submit\" name=\"add_submit\" value=\"Click Here To Add\"/>";
        $dir->close();
        ?>
    </table>
</form>

下面是post方法页面“getsounds.php”

    $files = scandir("uploads\\admin_uploads\\upload_sounds\\{$_POST['add'][0]}");

    $source = "uploads\\admin_uploads\\upload_sounds\\";

    $destination = "new_uploads48\\";
    foreach($files as $file){
        if(in_array($file,array(".","..")))continue;
        if(copy($source.$file,$destination.$file)){
            echo "Success";
        }
    }

【问题讨论】:

  • 你得到的错误是什么?
  • 我收到 2 个警告 >> 警告:opendir(uploads\admin_uploads\upload_sounds\mymp3):未能打开目录:C: 中没有这样的文件或目录,并且 >>>警告:需要 readdir()参数 1 是资源,给定布尔值.....很奇怪,这个脚本确实创建了一个新文件夹,但它是空的..我想把文件放在那个新文件夹中,从通过复选框表单中的 post 方法选择的文件中...
  • 对不起,我忘记关注你了。让我看看你的问题。
  • 它说'没有文件或目录'请告诉我你的目录映射是什么?比如 htdocs 或 www,然后是一个名为“project”的文件夹等。
  • @imsiso 我不确定我的目录映射在哪里,但这个文件在我的本地根目录中.. www 我想一个更简单的问题是.. 有没有简单的路线从表单复制/移动文件..??

标签: php path copy directory dir


【解决方案1】:

它说。

警告:opendir(uploads\admin_uploads\upload_sounds\mymp3): failed to open dir: No such file or directory in C: ...

所以我认为问题出在你给出的路径上。

尝试其中一种。

$dir = dir('.\uploads\admin_uploads\upload_sounds');$dir = dir('\Myproject\index\uploads\admin_uploads\upload_sounds');$dir = dir('..\uploads\admin_uploads\upload_sounds');

我认为这是因为您的路径指向基础,您应该尝试相对路径或真实且正确的绝对路径。

【讨论】:

  • 欢迎您,这是我经常遇到的问题之一,如果您不使用框架,您可以编写类或函数来帮助您轻松无误地生成 html 和 php 路径。跨度>
猜你喜欢
  • 2013-04-02
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2013-01-11
  • 2013-04-04
  • 1970-01-01
  • 2021-07-30
相关资源
最近更新 更多