0

私は自分の php アップローダをコーディングして、それがどのように機能するかを学び、理解できるようにしようとしています。ライブラリ/プラグイン/API を使用しないようにしています。だから基本的に私はそれが本来あるべきことをするJavaScriptのものを持っています(私は願っています..)。今、私はPHPで立ち往生しています。アップロードしてimg/1.pngとして保存したいです。(テストするためだけに変数を使用しないでください...)。これが私のスクリプトです。基本的なアップロードを機能させるためだけに、エラーチェックなしで非常にシンプルに保ちます。これは複数のファイルに対して機能しますか?非常に基本的な(マルチ)ファイルのアップロードだけで、私のPHPファイルがどのように見えるべきかについて、誰かが私を案内してくれませんか?ありがとう!

album_create.js

$(document).ready(function() {
  $('#album_create').submit(function() {
    var file = document.getElementById('album-files').files[0]; //Files[0] = 1st file
    var reader = new FileReader();

    reader.onload = function(f) {shipOff(f);};
    reader.onerror = function(event) {
      console.error("File could not be read! Code " + event.target.error.code);
    };
    reader.readAsText(file, 'UTF-8');
    return false;
  });
});


function shipOff(event) {
  var result = event.target.result;
  var fileName = document.getElementById('album-files').files[0].name; //Should be 'picture.jpg'
  console.log(fileName);
  $.post('ajax/album_create.php', { data: result, name: fileName }, function(data){console.log(data);});
  return false;
}

ajax/album_create.php

$data = $_POST['data'];

move_uploaded_file($data[0], 'img/1.png');
4

1 に答える 1

1

あなたが投稿しています:

data: result, name: fileName 

しかし、album_create.php は期待:

    $data = $_POST['data'];
    $fileName = $_POST['fileName'];

$fileName = $_POST['fileName']; 次のようにする必要があります。$fileName = $_POST['name'];

于 2013-01-06T08:29:32.217 に答える