以下の技術を使ってwebシステムを開発しています。
jquery 1.3.2
php 5.2.6
Apatch 2.2.10
システムにファイルをアップロードしたいのですが出来ません。
JQueryの$.post()メソッドを使ってアクションを呼び出しているのですが
phpの$_FILESが取得できません。
方法をご教授ください。
JQuery、phpともに初心者です。
不足している情報があれば教えてください。
ソースや設定は以下です。
//// upload.html /////////////////////////////////
<html>
<head>
<title>upload</title>
<script type="text/javascript" src="./jquery-1.3.2.min.js" ></script>
<script type="text/javascript">
function execPost()
{
var params = $('#testform').serialize();
$.post(
'http://localhost:8080/upload",
params,
function(data) {
// post後処理
});
}
</script>
</head>
</body>
<form name="testform" id="testform" enctype="multipart/form-data" method="post" >
<input type="hidden" name="MAX_FILE_SIZE" value="10000" />
<input type="file" name="file" />
<input type="button" name="post" onclick="execPost()" />
</form>
</body>
</html>
//// upload.php //////////////////////////////////
<?php
$filename = $_FILES['file']['name']
?>
//// php.ini /////////////////////////////////////
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
upload_tmp_dir = "/tmp"
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
No.1ベストアンサー
- 回答日時:
セキュリティ上の問題から、input type="file" で指定したファイルの中身をJavaScript からは 読みとることができません。
そのため、jQuery などのAJAXライブラリを通して、ファイルをアップロードするのは不可能です。
「ページ遷移しないアップロード」を実現した場合は、
ブラウザの機能としてのフォーム投稿を使って、
iframeを使ったAJAX的通信手段を通すことで、元のページは遷移させないようにするのが一般的です。
iframe を使ったファイル送信の原理については、PHPではありませんが、
http://rubyist.g.hatena.ne.jp/yamaz/20060908
このページなんかが参考になるかと思います。
PHPで、iframe を使ったファイルアップロードについては
http://www.phppro.jp/news/249
なんかにサンプルがあります。
この回答への補足
回答ありがとうございます。
JavaScriptからは操作できないんですね・・。
教えていただいたURLで勉強してみようと思います。
No.2
- 回答日時:
post メソッドの代わりに、こちらのプラグインメソッドを使用してみてはどうでしょうか?
http://d.hatena.ne.jp/lagos_on/20091107/1257610779
内部的にiframe を生成しpost してるようです。
参考URL:http://d.hatena.ne.jp/lagos_on/20091107/1257610779
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
親ページからインラインフレー...
-
form actionでmailtoを指定する...
-
複数のフォームを一括で送信す...
-
submitをボタン以外にするには
-
長文のmailtoの使い方
-
プルダウンメニューアイテムの...
-
1アクションでPOST・GET、両方...
-
フォームに入力した値をURLに付...
-
プルダウンメニューでインライ...
-
セレクトボックスの値による入...
-
<a href=**?***=***>をGET方式で
-
mailtoによる送信ができない
-
送信ボタン押下時に値が未入力...
-
一括で値を入力するには?
-
inputタグのclass名にコロン「:...
-
リンクをクリックした時にform...
-
お問い合わせフォームの送信後...
-
au着うたのダウンロード
-
VB6.0でコントロール配列の配列...
-
1つのformで複数のactionを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
入力フォームの javascript で ...
-
画像をボタンのようにフォーカ...
-
親ページからインラインフレー...
-
JavaScript の 「showDialog」
-
Javascirptによるページ内への...
-
[onClick]ボタンを押すことで入...
-
確認ダイアログ表示後、他のペ...
-
パスワードをIPする際見えな...
-
別なページにジャンプさせたい
-
htmlのobjectタグで埋め込んだ...
-
検索結果画面の値の引継ぎとr...
-
テキストボックスのvalue属性で...
-
ボタンにファイルリンクをつける
-
複数の画像ボタンから複数の画...
-
Mac(Safari)でのSendkyesコマン...
-
a.href の href を有効か無効に...
-
チェックボックスで、チェック...
-
submit時に違うページに飛びたい
-
submitをボタン以外にするには
-
URL パラメータを使ってフォー...
おすすめ情報