サーバへのアップロードができない

このQ&Aのポイント
  • サーバへのファイルアップロードで問題が発生しています。
  • CentOSでのファイルアップロードに関する設定を確認しましたが、解決しない状況です。
  • php.iniの設定や一時ディレクトリの権限についても調査しましたが、原因は特定できていません。
回答を見る
  • ベストアンサー

サーバへのアップロードが出来ない。

表題の通り、アップロードしたファイルが取得出来ずに困っています。 環境はCentOSで、バージョンは覚えていません。 php.iniの設定 file_uploads = On upload_tmp_dir = "/tmp/apache" upload_max_filesize = 1024M memory_limit = 1024M post_max_file = 1024M upload_tmp_dirの値ですが、初期は/tmpだったのですが、権限の問題を疑った為、変更しました。 cd /tmp mkdir apache chmod 777 /etc/apache chown apache:apache apache としてあります。 テストで実際に使っているファイルです。 - index.php <html> <head> </head> <body> <form action="index.php" method="post" enctype="multipart/form-data" name="test"> <input type="file" size="80"> <input type="hidden" name="MAX_FILE_SIZE" value="10000000"> <input type="submit" value="アップロード"> </form> <?php var_dump( ini_get('memory_limit') ); var_dump( ini_get('post_max_size') ); var_dump( ini_get('upload_max_filesize') ); var_dump($_FILES); ?> </body> </html> apacheのエラーログも確認しましたが、$_FILESを$_FILEに書き換えて見た時以来、エラーは出ていませんでした。 解決方法をご存知の方がおりましたら、是非ともご教授頂ければと思います。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • duron
  • ベストアンサー率77% (73/94)
回答No.1

適当にname属性をつけてみてください。 <input type="file" size="80" name="xxx">

t_netbug
質問者

お礼

まさしくでした。 あまりに基礎的なミスで気づいていませんでした。 ありがとうございました。

関連するQ&A

  • ファイルのアップロード

    いつもお世話になっております。 ファイルをアップロードするプログラムを作成しています。 最大ファイルサイズを200MBに設定しようと思っております。 PHPの設定を行なったのですが、ブラウザがフリーズしていまい うまくアップロードできません。 設定は下記のようにしました。 間違い、アドバイスがありましたら、ご教示お願いいたします。 よろしくお願いいたします。 test.php -------------------------------------------------- <form name="form1" method="post" action="test.php" enctype="multipart/form-data">  <input type="hidden" name="MAX_FILE_SIZE" value="200000000" />  <input name="mfile" type="file">  <input name="cfm" type="submit" value="確認画面へ"> </form> php.ini -------------------------------------------------- max_execution_time = 180 memory_limit = 250M post_max_size = 225M upload_max_filesize = 225M <環境> PHP:5.2.5

    • 締切済み
    • PHP
  • JQueryのpostメソッドでファイルをアップロードする方法を教えてください

    以下の技術を使って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

  • ファイルアップロードについて

    環境: OS/Vine Linux 3.2 Apache 2.0.55 mod_ssl 2.0.55 OpenSSL 0.9.7d PHP 5.1.2 上記の環境で簡単なファイルアップ処理をPHPで 試みようと思っていますが、できなく困っています。 HTMLからフォームを使って ファイルを選択した後に、「Send File」ボタンを 押してもまずファイルサイズが取得できません。 print_r($_FILES)を確認すると、 「Array ( [userfile] => Array ( [name] => test.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) ) 」とクライアントマシンの元ファイル名とエラーコードのみ表示されます。 ちなみにupload_max_filesizeは2Mで設定しています。 なので、MAX_FILE_SIZEは2Mになりますよね?? どなたかご教授下さい。よろしくお願いいたします。 ソース: 【html】 <form enctype="multipart/form-data" action="b.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> Send this file: <input name="userfile" type="file"> <input type="submit" value="Send File"> </form> 【php】 <?php print_r($_FILES); //続く....... ?>

    • ベストアンサー
    • PHP
  • docomoでの画像アップロードについてです。

    docomoでの画像アップロードについてです。 PCと同じ、fileタグを使用し、携帯で画像をアップロードしたいのですが、 画像アップロードできる画像と出来ない画像があります。 (絵文字画像ならできるが、写メデータだとできない) アップロード出来ない場合、$_FILES及び$_POSTのデータが渡りません。 因みに同じHTML及びPHPのソースでsoftbankだと出来ました。 容量の問題かと思い、 ini_set("upload_max_filesize","2M"); ini_set("post_max_size","3M"); ini_set('max_input_time',"600"); ini_set('max_execution_time',"600"); なども設定しましたが、変わらないです。 どなたかヒントでも頂ければと思います。 宜しくお願いします。 因みにHTMLのソースは下記です。 <form action="スクリプトURL" method="POST" enctype="multipart/form-data"> <input name="MAX_FILE_SIZE" type="hidden" value="1000000"> <input type="FILE" name="photo"> <INPUT type="submit" name="conf" value="アップロード"> </form>

    • 締切済み
    • PHP
  • ファイルがアップロードできません。。。

    以下のコードでファイルをアップロードしようと思っているのですが、$_FILESに一次格納できていないようでエラーと表示されてしまいます。 コードは抜粋です。 【○○.php】 <form action="△△.php?id=<?php print( $_REQUEST["id"] ); ?>" method="post" enctype="multipart/form-data"> <input type="file" name="upimage" > </form> 【△△.php】 <?php if ( empty ( $_FILES['upimage'] ) ){ print ( "エラー" ); exit; } ?> ⇒実行するとエラーと表示されてしまいます。 補足事項は以下の通りです。 ・$_REQUEST["id"]にはデータベースから取得した番号が入っていて、情報を引き継げるようにしています。 ・サーバーはお名前.comの共有SD(レンタルサーバー)を使っています。 ・アップロードしようとしているファイルはjpg、サイズは100Kほどです。 ・php.iniの情報  file_uploads = on  upload_tmp_dir = no value max_file_uploads = 20 upload_max_filesize = 2M お分かりになる方いらっしゃいましたら、ご教示ください。。。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • ファイルのアップロードができません

    今日始めたばかりの初心者です。 PHPだとCGIに比べ、ファイルのアップロードとか画像の処理が簡単に行えそうなのでチャレンジしてみたのですが、いきなりつまづいてしまいました。 とりあえずファイルをアップロードしてみようと思い、下のようなサンプルをアップロードしてみたのですが、さっぱり動きません。 適当なjpgファイルをアップロードすれば、スクリプトのあるディレクトリに”aaa.jpg”という名前で保存すると思うのですが…。 最後の”var_dump($_FILES);”という命令で、アップロードされたファイルの内容を表示させてるはずなのですが、ファイル送信前も後も”array(0) {}”としか表示されません。 PHPのバージョンは4.34です。 どなたかご教授お願いします。 ************************ <form enctype="multipart/form-data" method="post"> Upload File:<input name="userfile" type="file"> <input type="submit" value="Send File"> </form> <pre> <?php if (!empty($_FILES)) { move_uploaded_file($_FILES['userfile']['tmp_name'],'aaa.jpg'); } var_dump($_FILES); ?> </pre> ************************

    • ベストアンサー
    • PHP
  • FreeBSDのPHPでファイルのアップロードができない

    FreeBSD 5.3R:Apache/2.0.52:PHP Version 4.3.4にてPHPでファイルのアップローダを作成しているのですが、うまく動作しません。(/tmpにテンポラリファイルが作成されないようです。)設定は・・・ memory_limit = 40MB post_max_size = 36MB upload_max_filesize = 32MB upload_tmp_dir = /tmp max_execution_time = 260 max_input_time = 300 となっているのですが、phpinfo()で確認すると、何故かmemory_limitの表示がConfiguration PHP Coreにありません。 これに起因するものではないかと思っているのですが、FreeBSDでPHPを使ってらっしゃる方でこのあたりに詳しい方、是非ご教授ください。

    • 締切済み
    • PHP
  • ファイルのアップロードサイズについて

    環境は linux+Apache+php になります。 ファイルのアップロードサイズについてですが、php.iniに post_max_size = 8M upload_max_filesize = 4M 等の記載がなく、またhttpd.confも AllowOverride none (.htaccessファイル 無効?) になっていた場合、アップロードできるサイズの制限はデフォルトの post_max_size = 8M upload_max_filesize = 2M になるのでしょうか? AllowOverride all の設定で、httpdファイルに記載が無い場合などは調べられたのですが htaccessが無効の場合がちゃんと調べられなくて、 デフォルトだろうなと思いながらも、知識のある方に教えていただきたく、 質問させていただきました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイル選択と同時にアップロード HTML+JS

    HTMLとJava Scriptのことを質問させてください <form>タグからファイルを選択すると同時をアップロードしたいと思っています。 複数の「ファイルを選択ボタン」を設置し、それぞれ"001.jpg"、"002.jpg"など指定の名前でアップロードしたいです。 下記のようにいくつかの<form>タグを設置し、javascriptでコントロールできるかと思いケース1のように書いた場合はうまくいったのですが、ケース2のように複数並べて記述した場合、動かなくなり困っております。 どなたか教えていただけないでしょうか? よろしくお願いいたします ケース1) <form id="upload_file1" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="001.jpg" />    <input type="file" id="file_id_1" name="file_name" accept="image/jpeg"> </form> <form id="upload_file2" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="002.jpg" />    <input type="file" id="file_id_2" name="file_name" accept="image/jpeg"> </form> <script> var form = document.getElementById("upload_file1"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; </script> ケース2) <form id="upload_file1" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="001.jpg" />    <input type="file" id="file_id_1" name="file_name" accept="image/jpeg"> </form> <form id="upload_file2" action="file_upload.php" method="post" enctype="multipart/form-data" target="upload_frame">    <input type="hidden" name="picture_id" value="002.jpg" />    <input type="file" id="file_id_2" name="file_name" accept="image/jpeg"> </form> <script> var form = document.getElementById("upload_file1"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; var form = document.getElementById("upload_file2"); var input = form.file_name; input.onchange = function (){ if(this.value){ form.submit(); } }; </script>

  • PHPファイル・アップロードに関する質問

    あるPHP技術書籍で掲載のPHPファイル・アップロードの例を試したところ、アップロードするファイル・サイズは、小さいな(数KB)場合が成功、より大きな場合(例えば40KB~)が失敗!何故失敗なのかよく分かりません。ファイル種類には関係なさそうです。 詳しい方に教えて頂ければ助かります。 ※ ご参考 - 1. 具体的なHTML&PHPコードは、次の通りです。 2. 利用環境: 最新版XAMPP、Windows 7、XAMPPデフォルト・ルートをD:のある フォルダーに変更。D:に十分空き領域があると確認済み(数十GB)。 =====HTML===================== <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>fupload</title> </head> <body> <h3>ファイルアップロード</h3> <form method="POST" action="fupload.php" enctype="multipart/form-data"> <!-- MAX_FILE_SIZE は、必ず "file" input フィールドより前になければなりません --> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> <!-- input 要素の名前が $_FILES 配列での名前となります --> <input name="userfile" type="file" size="70"/> <input type="submit" value="アップロード" /> </form> </body> </html> =====PHP--===================== <?php $uploaddir = './up/file/'; $uploadfile = basename($_FILES['userfile']['name']); echo '<pre>'; //if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$uploadfile)) { echo "ファイルアップロードに成功しました。\n"; } else { echo "ファイルアップロードは不成功です。\n"; } echo '<pre>'; ?> =====PHP関連設定(php.ini)========-== ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads=On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir="C:\xampp\tmp" ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize=2M ; Maximum number of files that can be uploaded via a single request max_file_uploads=20

    • ベストアンサー
    • PHP

専門家に質問してみよう