1

PHP でカスタム モジュールを作成する必要があります。シナリオでは、ユーザーの PDF ドキュメントをユーザーごとに別のフォルダーにアップロードしようとしています。

個々のユーザーの場合、ユーザーが割り当てられたフォルダーに複数のドキュメントをアップロードできるように、フォルダーは 1 つだけにする必要があります。

結論として、2 つの参照ボタンを備えたフォームがあり、ユーザーがフォルダーを送信すると、デフォルトのフォルダー (アップロード) 内に User1 という名前が作成され、3 つのドキュメントすべてが User1 フォルダーにアップロードされます。

メインの Uploads フォルダーにファイルを簡単にアップロードできますが、ファイルを特定のユーザー フォルダーに移動することはできません。

<?php
if ($_POST['submit']) {
    if (isset($_FILES['image'])) {
        $errors = array();
        $file_name = $_FILES['image']['name'];
        $file_size = $_FILES['image']['size'];
        $file_tmp = $_FILES['image']['tmp_name'];
        $file_type = $_FILES['image']['type'];

        $file_ext = strtolower(end(explode('.', $_FILES['image']['name'])));
        $extensions = array("pdf", "docx", "doc");

        if (in_array($file_ext, $extensions) === false) {
            echo "Extension not allowed, please choose a pdf,docx or doc format.";
        }
        if ($file_size > 2097152) {
            echo 'File size must be exactly 2 MB';
        }
        if (empty($errors) == true) {
            $path = 'uploads/' . $file_name;

            //mkdir($path, 0777, true);
            //$dirn=mkdir('uploads/'.$file_name,0777,true);


            move_uploaded_file($file_tmp, $path);

            echo "Success";
        } else {
            print_r($errors);
        }
    }
}
?>

HTML

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="image">
    <input type="file" name="image2">
    <br>
    <input type="submit" value="Upload" name="submit">
</form>
4

2 に答える 2

2

ユーザーが作成したときに、アップロードフォルダー内にユーザー名でディレクトリを作成します....アップロード中にこのようにします...

$dir_path='uploads/' . $_SESSION['username'] . '/' . $file;
于 2013-08-21T07:54:36.807 に答える
0

ユーザー ID の保存方法に応じて、次のようになります。

$path = 'uploads/' . $_SESSION['user-id'] . '/' . $file_name;
于 2013-08-21T07:41:09.177 に答える