0

私のコードの何が問題なのか、一生理解できません。いずれにせよ、私は ajax コードが正しいと信じています (間違っているかもしれませんが)。

1 フィールドの長さで、送信する必要のない「フォーム」があります。値を入力してCURRENTを使用する必要があるため、値を送信せずに別のページに送信してページを変更できるため、ajaxを使用します。フォームの外側に偽の送信ボタン (div で作成) があります。これを使用して、フォルダー名とともにコンテンツを送信します。

アップロード ページである 2 番目のページで、フォルダーを作成しようとしています。基本的に、私の画像フォルダーには、1 つのサブフォルダーのみを作成したいと考えています。私のフォームでは、ユーザーがテキスト ボックスに名前を入力すると、その値が新しいフォルダーの名前になります。

フォルダ再帰と呼ばれるものについてネットで調べました。誰かがそれについて何か提案しました (しかし、私は彼の提案を誤解していました)。とにかく、私はそれをオンラインで探しましたが、運がありませんでした. 入力された値を使用する必要があるため、オンラインで見つけたものはその点で役に立ちません。

私が出力できる最高のものは、画像ディレクトリに作成された $folder です。いずれにせよ、その試みが失敗したので、何度かコーディングをやり直しました。しかし、以下は私が思いつくことができる最高のものです。

これが私のコーディングです:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">

<title>File Upload!</title>
<script src="jquery.js"></script>
<script src="javascript.js"></script>
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="pacifico.css" />


</head>
<body>

<script>
setInterval(function(){
     $.post("test.php",{
            value: $("#folder").val()
        }, 
        function(result){
            console.log('saved!');
      });
}, 2000);
</script>


    <div>
    <form>
        <input type="text" id="folder" name="folder">
        <input id="btn_send" type="button" value="Submit" />
     </form>
    </div>

<div class="content">
    <div id="drop-files" ondragover="return false">
        Drop Images Here
    </div>

    <div id="uploaded-holder">
        <div id="dropped-files">
            <div id="upload-button">
                <a href="#" class="upload">Upload!</a>
                <a href="#" class="delete">delete</a>
                <span>0 Files</span>
            </div>
        </div>
        <div id="extra-files">
            <div class="number">
                0
            </div>
            <div id="file-list">
                <ul></ul>
            </div>
        </div>
    </div>

    <div id="loading">
        <div id="loading-bar">
            <div class="loading-color"> </div>
        </div>
        <div id="loading-content">Uploading file.jpg</div>
    </div>

    <div id="file-name-holder">
        <ul id="uploaded-files">
            <h1>Uploaded Files</h1>
        </ul>
    </div>
</div>
</body>
</html>

そして他のページ

<?php

$folder = $_GET['folder'] . '/';


$dirPath = $folder;

$result = mkdir($dirPath, 0755);
if ($result == 1) {
    echo $dirPath . " has been created";
} else {
    echo $dirPath . " has NOT been created";
}


// We're putting all our files in a directory called images.
$uploaddir = 'images/'.'$folder';

// The posted data, for reference
$file = $_POST['value'];
$name = $_POST['name'];

// Get the mime
$getMime = explode('.', $name);
$mime = end($getMime);

// Separate out the data
$data = explode(',', $file);

// Encode it correctly
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);


if(file_put_contents($uploaddir.$folder.$name, $decodedData)) {
;
}
else {
    // Show an error message should something go wrong.
    echo "Something went wrong. Check that the file isn't corrupted";
}

?>
4

0 に答える 0