在附件的前端创建多文件上传表单

时间:2012-01-22 作者:Dalton Rooney

我正在尝试创建一个公共表单,用户可以在其中上载多个图像以附加到特定帖子。由于this post 金苹果设计公司。

问题是,我正在努力处理多个文件上载。我变了

<form method="post" action="#" enctype="multipart/form-data" >
  <input type="file" name="upload_attachment">
  <input type="submit">
<form>

<form method="post" action="#" enctype="multipart/form-data" >
  <input type="file" multiple=multiple name="upload_attachment[]">
  <input type="submit">
<form>
现在$\\u FILES数组的格式不同了,文件处理程序无法正确处理它。有谁能帮我找出如何以正确的方式循环遍历数组,并向文件处理程序提供所需的格式?

1 个回复
最合适的回答,由SO网友:Dalton Rooney 整理而成

这可能不是最优雅的方式(我不确定是否允许覆盖$\\u全局文件),但这似乎是可行的:

global $post;
if ($_FILES) {
    $files = $_FILES[\'upload_attachment\'];
    foreach ($files[\'name\'] as $key => $value) {
        if ($files[\'name\'][$key]) {
            $file = array(
            \'name\'     => $files[\'name\'][$key],
            \'type\'     => $files[\'type\'][$key],
            \'tmp_name\' => $files[\'tmp_name\'][$key],
            \'error\'    => $files[\'error\'][$key],
            \'size\'     => $files[\'size\'][$key]
            );

            $_FILES = array("upload_attachment" => $file);

            foreach ($_FILES as $file => $array) {
                $newupload = wp_insert_attachment($file,$post->ID);
            }                                   
        }
    }
}

结束

相关推荐

以编程方式通过URL获取图像并保存在Uploads文件夹中

我参与了从另一个CMS到WordPress的大规模迁移。我们有一个数据库的副本,并且已经解决了如何提取内容并使用wpdb 班然而,有几千张图片,我们想自动拉过来,生成各种大小的图片,然后贴到帖子上,以节省大约一周的工作!有没有办法通过URL从远程站点获取图像并将其保存在我的wp uploads文件夹中?我想这是wp_http 但我对此并不熟悉。一旦我得到图像并保存它,我就可以使用wp_generate_attachment_metadata 创建各种尺寸和wp_insert_attachment 把它贴在