两个文件输入两个不同的文件夹


two file inputs two different folder

我是来问的(因为我今天在互联网上搜索了大量的这个)

情况是这样的:得到一个带有一些字段的表单,然后它有 2 个输入类型="文件"。关键是我希望文件 A 转到文件夹 A,文件B 转到文件夹 B。

我尝试过:

这是projs_upload.php

$uploaddirb = '../images/projects/';
$uploaddira = '../images/projects/thumb/';
$uploadfile = $uploaddira . basename($_FILES['min_img']['name']);
$uploadimg = $uploaddirb . basename($_FILES['img']['name']);
move_uploaded_file($_FILES['min_img']['tmp_name'], $uploadfile);
move_uploaded_file($_FILES['img']['tmp_name'], $uploadimg);

这是形式:

require("common.php"); 
if($_POST){
    $query = " 
        INSERT INTO projects ( 
            `idprojects`,
            `cat`, 
            `name`, 
            `desc`, 
            `min_img`,
            `img`,
            `ext_url` 
        ) VALUES ( 
            :idprojects,
            :cat,
            :name,
            :desc,
            :min_img,
            :img,
            :ext_url 
        ) 
    "; 
    $query_params = array(
        ':idprojects'=> "",
            ':cat' => $_POST['cat'],
            ':name' => $_POST['name'],
            ':desc' => $_POST['desc'],
            ':min_img' => $_FILES['min_img']['name'],
            ':img' => $_FILES['img']['name'],
            ':ext_url' => $_POST['exturl'] 
    );          
    try 
    { 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
    } 
    catch(PDOException $ex) 
    { 
        die("Failed to run query: " . $ex->getMessage()); 
    } 
    include ("funcs/proj_uploads.php");
    header("Location: ?p=manage_projects"); 
    die("Redirecting done"); 
}
<form action="?p=manage_projects" method="post" enctype="multipart/form-data">
<input type="text" placeholder="kategoria" name="cat" />
<input type="text" placeholder="nazwa projektu" name="name" />
<input type="text" placeholder="link do projektu" name="exturl" />
<textarea placeholder="opis" name="desc" />
</textarea>
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
<input type="file" placeholder="miniatura" name="img" />
<input type="file" placeholder="duży" name="img" />
<button type="submit" class="expand">Zapisz</button>
</form>

"?p=manage_projects"是指表单页面。

你的$uploaddirb路径需要以/结尾,否则文件将作为文件上传到images/projects thumbsomename

$uploaddirb = '../images/projects/thumb/';

如果这不能为您解决,请更新您的问题以获取更多信息,即HTML和PHP代码,这两个文件都不起作用吗?,您是否检查过目录是否存在并具有适当的权限?

您的两个file input标签都称为img

你应该有一个叫做img和一个叫min_img

所以做:

<input type="file" placeholder="miniatura" name="min_img" />
<input type="file" placeholder="duży" name="img" />

而不是:

<input type="file" placeholder="miniatura" name="img" />
<input type="file" placeholder="duży" name="img" />

注意:这应该很容易在你的if($_POST)块中用var_dump($_FILES)发现。