ホームページ > バックエンド開発 > PHPチュートリアル > jQuery AJAX と PHP を使用して単純なファイル アップロードを実装する方法

jQuery AJAX と PHP を使用して単純なファイル アップロードを実装する方法

Linda Hamilton
リリース: 2024-12-24 03:51:09
オリジナル
849 人が閲覧しました

How to Implement a Simple File Upload Using jQuery AJAX and PHP?

PHP を使用した jQuery AJAX ファイルのアップロード

問題: jQuery AJAX を使用した最小限のセットアップで簡単なファイル アップロードを実装し、 PHP.

初期 HTMLおよび JavaScript スクリプト:

<!-- HTML -->
<input>
ログイン後にコピー
<!-- JavaScript -->
$("#upload").on("click", function() {
  var file_data = $("#sortpicture").prop("files")[0];
  var form_data = new FormData();
  form_data.append("file", file_data);
  alert(form_data);
  $.ajax({
    url: "/uploads",
    dataType: 'script',
    cache: false,
    contentType: false,
    processData: false,
    data: form_data,
    type: 'post',
    success: function() {
      alert("works");
    }
  });
});
ログイン後にコピー

問題が発生しました:
ファイルをアップロードすると、「[object FormData]」を示すアラートが表示され、成功アラートが表示されます呼び出されないままであり、「アップロード」にはファイルが存在しません。

解決策:
ファイルのアップロードを容易にするには、ファイルの再配置と管理を処理するサーバー側スクリプトが必要です。

更新JavaScript スクリプト:

$('#upload').on('click', function() {
  var file_data = $('#sortpicture').prop('files')[0];
  var form_data = new FormData();                  
  form_data.append('file', file_data);
  alert(form_data);                             
  $.ajax({
    url: 'upload.php', // Point to server-side PHP script 
    dataType: 'text',  // Expect a response from the PHP script
    cache: false,
    contentType: false,
    processData: false,
    data: form_data,                         
    type: 'post',
    success: function(php_script_response){
      alert(php_script_response); // Display response from the PHP script
    }
 });
});
ログイン後にコピー

サーバー側PHP スクリプト (upload.php):

<?php

if ( 0 < $_FILES['file']['error'] ) {
  echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
  move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}

?>
ログイン後にコピー

追加の考慮事項:

  • アップロード ディレクトリへの指定されたサーバー パスが正しいことを確認してください。
  • アップロード ディレクトリに書き込みがあることを確認します
  • move_uploaded_file 関数のパラメータを調整して、ファイルの配置と名前をカスタマイズします。
  • サイズ関連の問題を防ぐために、upload_max_filesize と post_max_size の PHP 構成設定を確認してください。

以上がjQuery AJAX と PHP を使用して単純なファイル アップロードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート