ホームページ >バックエンド開発 >PHPチュートリアル >jQuery AJAX ファイルの PHP へのアップロードが機能しないのはなぜですか?

jQuery AJAX ファイルの PHP へのアップロードが機能しないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-22 19:51:13794ブラウズ

Why Isn't My jQuery AJAX File Upload to PHP Working?

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

問題:

AJAX ファイルのアップロードが試行されていますjQuery と PHP を使用していますが、ファイルはアップロードされておらず、成功アラートも表示されません。

解決策:

  1. サーバー側スクリプト:

    上の PHP スクリプトサーバーは、ファイルのアップロードを処理し、フォーム データを受信し、指定された場所にファイルを保存する必要があります。例:

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

    アップロード ディレクトリに書き込み権限があることを確認します。

  2. AJAX 呼び出し:

    AJAX jQuery スクリプトの呼び出しでは、ファイルを処理するサーバー側スクリプトの URL を指定する必要があります。アップロード:

    $.ajax({
        url: 'upload.php', // Point to the server-side PHP script
        dataType: 'text', // Specify the expected response type (optional)
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response) {
            alert(php_script_response); // Display the response from the PHP script (optional)
        }
    });

サーバー上のファイルの名前変更:

$_FILES['file']['name'] の代わりに、 move_uploaded_file() でサーバーが生成した独自のファイル名を使用して、 file:

move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');

追加のヒント:

  • upload_max_filesize および post_max_size のサーバー構成設定が、アップロードされるファイルのサイズに適切であることを確認してください。
  • スクリプトに適切な権限があり、実行可能であることをテストします (CHMOD) 755).

以上がjQuery AJAX ファイルの PHP へのアップロードが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。