私のコードの何が問題なのか、一生理解できません。いずれにせよ、私は 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";
}
?>