• ベストアンサー

PHP4 LINUXサーバー

「PHP4でカンタンWebDB構築ガイド」を見て、ファイルのアップロードのプログラムを書いてみましたが、参照..→送信の後に表示される筈のuserfile,user_file_name,user_file_size,user_file_typeの情報が表示されません。 また、このサンプルソフトでは、サーバーにアップロードされた筈のファイルが、具体的に何処のフォルダにアップロードされたのか分かりません。何処かデフォルトで保存される場所でもあるのでしょうか? <FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD=POST> <INPUT TYPE ="hidden" name="MAX_FILE_SIZE" value="1000"> <INPUT NAME="userfile" TYPE="file"> <INPUT TYPE="submit" VALUE="送信"> </FORM> <?php print "\$userfile = ". $userfile . "<BR>"; print "\$userfile_name = ". $userfile_name . "<BR>"; print "\$userfile_size = ". $userfile_size . "<BR>"; print "\$userfilei_type = ". $userfile_type . "<BR>"; ?>

  • teo98
  • お礼率27% (68/244)
  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

テンポラリとしてアップされますのでそれをコピーしてつかってください <?php print "\$userfile_name = ". $_FILES['userfile']['name'] . "<BR>"; print "\$userfile_size = ". $_FILES['userfile']['size'] . "<BR>"; print "\$userfile_type = ". $_FILES['userfile']['type'] . "<BR>"; print "\$userfile_tmp_name=". $_FILES['userfile']['tmp_name'] . "<BR>"; ?>

teo98
質問者

お礼

早い回答をありがとうございます。

その他の回答 (1)

回答No.2

PHP4も4.1.xx以降はregister_globalsがデフォルトOFFになっています(セキュリティの関係上)。アップロードされたファイルは$userfile_nameではなく、アップロードされたファイルを扱うスーパーグローバル$_FILES変数に格納されています。 アップロードされるファイルはデフォルトのupload_tmp_dirに格納されます。Linuxの場合は/tmpあたりがデフォルトの指定フォルダになっていると思います(インストール時設定やphp.iniの設定による)。 PHPマニュアルのアップロードのところをよく読むといいと思います。 http://jp.php.net/manual/ja/features.file-upload.php

teo98
質問者

お礼

版数次第だとは知りませんでした。ありがとうございます。

関連するQ&A

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

    OSはLinuxのfedoraを利用しており、WebサーバーソフトはApacheを利用しています。 PHPを使って、クライアントからサーバーにファイルのアップロードをしたいのですが、プログラミングがあまり理解できておらず、アップロードができません。ちなみにphp.iniファイルの設定に関しては、アップロードは受け付けるようにしていますし、設定にミスはないと思います。 sample.phpというファイル名で下記のファイルを作ってみたのですが、アップロードすることができませんでした。まだPHPは初心者で間違いだらけだと思うのですが、こうすればアップロードできるようになるといった指摘をお願い致します。 <html> <head> <title> </title> </head> <body> <form enctype="multipart/form-data" action="sample.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 if(isset($uploadfile) and is_uploaded_file($uploadfile)) { if(move_uploaded_file($uploadfile, $path . "/var/www/html/test/" . $uploadfile_name)){ print("<br>Uploaded file saved."); }else{ print("<br>Uploaded file save failed."); } } ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPでフォームから任意の画像削除方法

    複数画像がアップロード出来るフォームがあります。 そのフォームはユーザがアップした画像は、フォームにアクセスする度に表示されます。 <form action="upload.php" method="post" enctype="multipart/form-data"> ファイル:<br /> <input type="file" name="upfile" size="30" /><br /> <input type="reset" name="resetfile" value="削除" /><br /> <input type="file" name="upfile" size="30" /><br /> <input type="reset" name="resetfile" value="削除" /><br /> <br /> <input type="submit" value="アップロード" /> </form> 2つの画像をサーバにアップした段階で 2つ目の削除ボタンを押した時に、2つ目の画像だけを削除したいのですが、良い方法が思いつきません。 代替案はチェックボックスですが、デザインが崩れるので避けたいと思っています。 または、javascriptで出来るようですが、あまり得意でないので、出来れば避けたいと思っています。 良い方法があれば、ご教授お願いします。

    • ベストアンサー
    • PHP
  • PHP用ファイルアップロード機能について

    ドコモ端末でPHPのファイルアップロード機能を使えるようにしたいのですが、どのようにすればいいでしょうか? ちなみに、vodafoneならこの機能が使えます。 ドコモ端末で下のソースにアクセスすると、 ファイルを参照するボタンが見えず、ファイルをアップロードできません。 HTMLはキャリア毎に使えるタグがあるのは知っていますが、下のソースの場合はどのように変更すれば良いのでしょうか?ご教授下さい。宜しくお願いします。 #ソースはコレです。 <form method="post" action="upload_save.php" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" /> <input type="file" name="upload_file" size="70"><br /> (上書き禁止) <input type="checkbox" name="forbidden" value="1" checked /> <input type="submit" value="アップロード" /> </form> #ファイル自体はphpですが、中身はほぼHTMLに関する質問になってしまい、申し訳ありません。

    • ベストアンサー
    • PHP
  • ファイルのアップロードが、どうしても どうしても 出来ません・・

    ■アップロードフォーム用のHTMLファイルです↓ ファイル名=gazou_upload.html <html> <head> <title>ファイルのアップロード</title> </head> <body> <form method="POST" action="gazou_upload.php" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" > <input type="file" name="userfile"><br><br> <input type="submit" value="アップロード"> </body> </html> ■受け取ったファイルをサーバ上のディレクトリに移動するPHPファイルです↓ ファイル名=gazou_upload.php <?php // アップロード先ディレクトリ+ファイル名の指定 $uploaddir = '/image/'; $uploadfile = $uploaddir. $_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { print "ファイルアップロード成功"; print_r($_FILES); } else { print "ファイルアップロード失敗"."<br>"; print_r($_FILES); } ?> ■結果 Warning: move_uploaded_file(/image/P1010851.jpg): failed to open stream: No such file or directory in /home/sites/lolipop.jp/users/**********/web/gazou_upload.php on line 8 Warning: move_uploaded_file(): Unable to move '/tmp/phpuqa8g2' to '/image/P1010851.jpg' in /home/sites/lolipop.jp/users/***********/web/gazou_upload.php on line 8 ファイルアップロード失敗 Array ( [userfile] => Array ( [name] => P1010851.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpuqa8g2 [error] => 0 [size] => 84509 ) ) 簡単なプログラムなのにちゃんと動作してくれません。色々試行錯誤試したりしているのですが・・初心者で本当に困ってます。どなたかアドバイスよろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルのアップロードがどうしても出来ません。

    単に画像ファイルをアップロードさせるだけなのですが、何故か出来ません。プログラミングに関しては初心者ですので、どなたかアドバイスをよろしくお願いします。 ■アップロードフォーム用のHTMLファイルです↓ ファイル名=gazou_upload.html <html> <head> <title>ファイルのアップロード</title> </head> <body> <form method="POST" action="gazou_upload.php" enctype="multipart/form-data"> <input type="hidden" name="max_file_size" value="1000000" > <input type="file" name="userfile"><br><br> <input type="submit" value="アップロード"> </body> </html> ■受け取ったファイルをサーバ上のディレクトリに移動するPHPファイルです↓ ファイル名=gazou_upload.php <?php if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/image/")) { print "ファイルアップロード成功"; print_r($_FILES); } else { print "ファイルアップロード失敗"."<br>"; print_r($_FILES); } ?> ■ファイルを保存するディレクトリ 上のファイルと同じ階層で フォルダ名が image パーミッションは3つとも 707 にしました。 パーミッションが拒否されたというメッセージだと思うので、パーミッションを変更したのですがダメでした・・ちなみにサーバはロリポップを使っていて、777と666はエラーになると注意書きがあったので、707にしました。かなりハマっていて困っています。回答もしくはアドバイスをどなたかよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPについて教えてください

    以下のコードでthanks.phpにemailとgoikenが表示されません なぜでしょうか? おそらくthanks.phpが間違えてると思いますが見直してもわかりません index.html <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <form method="POST" action="check.php"> ニックネームを入力してください<br> <input name="nickname" type="text" style="width:100px"><br> メールアドレスを入力してください<br> <input name="email" type="text" style="width:200px"><br> ご意見を一言でお聞かせください<br> <input name="goiken" type="text" style="width:300px"><br> <input type="submit" value="送信"> </form> </body> </html> check.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; if ($nickname==''){ print'ニックネームが入力されていません<br>'; } else { print'ようこそ'; print $nickname; print' 様'; print'<br>'; } if ($email==''){ print'メールアドレスが入力されていません<br>'; } else { print'メールアドレス:'; print $email; print'<br>'; } if ($goiken==''){ print'ご意見が入力されていません<br>'; } else { print'ご意見『'; print $goiken; print'』<br>'; } if($nickname=='' || $email='' || $goiken=''){ print'<form>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'</form>'; } else { print'<form method="post" action="thanks.php">'; print'<input name="nickname" type="hidden" value="'.$nickname.'">'; print'<input name="email" type="hidden" value="'.$email.'">'; print'<input name="goiken" type="hidden" value="'.$goiken.'">'; print'<input type="button" onclick="history.back()" value="戻る">'; print'<input type="submit" value="OK">'; print'</form>'; } ?> </body> </html> thanks.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; print $nickname; print'様<br>'; print'ご意見ありがとうございました<br>'; print'頂いたご意見『'; print $goiken; print '』<br>'; print $email; print'宛にメールを送信しました'; ?> </body> </html>

    • ベストアンサー
    • PHP
  • アップローダーの作製

    お世話になります。 アップローダーでmp4をUPしたいです。 下記の様なフォームを記述したところ、jpegはUP出来たのですが、mp4はアップできませんでした。 フォーム-------------------------------------------------------------------------------------- <?php //アップローダー function upload(){ $filename = $_GET["onamae"]; $max = 1024*1024*10; $array = array("01.jpg","02.jpg","03.jpg","pv.mp4"); for($i = 0; $i < count($array); ++$i){ ?> <div> <form method="post" enctype="multipart/form-data" action="uploader.php"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php print $max; ?>"> <input name="userfile" type="file"> <input type="submit" value="アップロード" name="up"> <input name="filename" type="hidden" value="<?php print $array[$i]; ?>"> <input name="filemei" type="hidden" value="<?php print $filename; ?>"> </form> </div> <?php } } ?> uploader.php--------------------------------------------------------------------------------- <?php $filedir = "../girl/" . $_POST["filemei"] . "/" . $_POST["filename"]; $file_path = $filedir ; if(move_uploaded_file($_FILES['userfile']['tmp_name'], $file_path)){ ?> <div class="message">ファイルのアップロードに成功しました。</div> <?php } else{ ?> <div class="message">ファイルのアップロードに失敗しました</div> <?php } ?> ---------------------------------------------------------------------------------------------- 記述ミスあるかもです。すいません。

    • 締切済み
    • PHP
  • ファイルをアップロードしようとするファイルについて

    お世話になっています。 ファイルのアップロードついて質問があります。 環境は OS:Linux PHP:4.0.6(訳あって、最新版にしていません。) php.iniは register_globals = Off 以外デフォルトです。 --aaa.php-- <html> <head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"></head> <body> <form name="frmFile" enctype="multipart/form-data" method="post" action="bbb.php"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> <input type="file" name="UserFile"> <input type="submit" name="btnSubmit" value="go"> </form> </body> </html> --bbb.php-- <? echo "name:" . $HTTP_POST_FILES["UserFile"]["name"] . "<br>"; echo "size:" . $HTTP_POST_FILES["UserFile"]["size"] . "<br>"; ?> 以上のようなソースaaa.phpとbbb.phpがあります。このソースだと2000000バイト以内ならアップロードできるということですよね。 1980054バイト(1.88MB)だと name:ddd.bmp size:1980054 のように、結果が返ってきますが、 6750054バイト(6.43MB)だと name:bbb.bmp size:0 12000054バイト(11.4MB)だと name: size: という風に違ってきてしまうんです。これって何なのでしょうか? また、2000000バイトならエラーメッセージを表示したいというとき どのような対応をしていますか?また、その対応はファイルサイズがいくらでも大丈夫ですか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • phpエラー

    現在phpの練習をしてるんですが教科書通りにプログラミングをしてもうまく動きません。 次のコードでおかしな部分があるのでしょうか? よろしくお願いします。 <html> <head> <title>アップロード</title> </head> <body> <form enctype="multipart/for-data" action="http://192.168.11.8/upload.php" method="post"> ファイル:<input type="file" name="myfile"/><br/> <input type="submit" value="送信"/> </form> <?php if(isset($_FILES["myfile"]["tmp_name"])){ // myfileがスーパグローバルに一時ファイルとして保存されたら $filename = "./" . $_FILES["myfile"]["name"]; // その相対パスを格納 if(move_uploaded_file($_FILES["myfile"]["tmp_name"], $filename)){ // 第一引数の一時ファイルを第二引数の場所からアップロード print "送信しました。\n"; } else{ print "送信に失敗しました.\n"; } } ?> </body> </html>

    • ベストアンサー
    • PHP
  • phpに関する質問

    phpでフォームに入力して送信ボタンを押したらアンケートの集計をphpの方に出力するプログラムを作っているのですがhtmlのほうは問題なく動くのですがphpのほうが入力したものが反映されなくて非常にこまっていますどなたかたすけてください ここからhtml <html> <p> </p> <h3>アンケート</h3> <form name="form" action="kadai.php" method="GET"> <p> お名前を入力して下さい:<br> <input type="text" name="simei"> </p> <p> 性別を選んで下さい。<br> <input type="radio" name="gender" value="男性">男性です<br> <input type="radio" name="gender" value="女性">女性です<br> </p> <p> この~を何で知りましたか?<br> <input type="checkbox" name="check1" value="メディア媒体"/> メディア媒体で<br> <input type="checkbox" name="check2" value="イラスト"/> イラストで<br> <input type="checkbox" name="check3" value="その他"/> その他<br> </p> <p> 最近ハマっていることは?<br> <input type="checkbox" name="check4" value="サークル、部活"/> 部活など<br> <input type="checkbox" name="check5" value="得にない"/> 得にない<br> <input type="checkbox" name="check6" value="その他"/> その他<br> </p> <p> <input type="submit" name="submit" value="上記内容で送信"> </p> </form> </body> </html> ここからphp <html> <p> </p> <h3>アンケート</h3> <p> <b>下記の内容でお問合せを受付けました。<br> ありがとうございました。</b> </p> <p> <b>お名前:</b><br> <?php print( $_REQUEST["simei"] ); ?> </p> <p> <b>性別:</b><br> <?php print( $_REQUEST["gender"] ); ?> </p> <p> <b>この~を何で知りましたか:</b><br> <?php print( $_REQUEST["check1"] ); ?><br> <?php print( $_REQUEST["check2"] ); ?><br> <?php print( $_REQUEST["check3"] ); ?><br> </p> <p> <b>最近ハマっていることは:</b><br> <?php print( $_REQUEST["check4"] ); ?><br> <?php print( $_REQUEST["check5"] ); ?><br> <?php print( $_REQUEST["check6"] ); ?><br> </p> <p> </body> </html>

    • ベストアンサー
    • PHP

専門家に質問してみよう