PHP
- ローカルからサーバーへのファイルアップロードについて
質問があります。 今ホームページを作成しています。 画像をあつかいたいのですが、FTPなどのソフトを使用せずにPHPで作成したWEB画面からローカルの画像を サーバーにアップロードしたいと考えています。 WEB画像はサーバー上にあり、 表示部分<INPUT>と参照ボタンとアップロードボタンが あります。 参照を押下すると自分の使用しているローカルのファイル・ディレクトリ情報があり、エクスプローラーバーが表示されてファイルを選択すると入力画面に 選択されてあファイル名が表示されるようにしました。 それでアップロードボタンを押すと、 WEB画面と同じサーバーの同じ場所に指定したファイルが アップロード(転送)される仕組みにしたいのですが、 どのようにすればいいでしょうか? アドバイスお願い致します。 【PHP:4.02】
- ファイルがdataフォルダにうまくアップできなくて困っています。
htmlフォームにより、ファイルをアップロードして、 それをphpが受け取ったファイルのファイル名を、 拡張子のみそのまま利用してファイル名は 日付けと時間をdate関数を利用して つけるようにしました。 GetExt関数は、アップされた画像の拡張子のみを取得する自作関数です。 以下のスクリプトを実行しても同一階層にあるdataフォルダに写真がアップされなくて悩んでいます。 アドバイスお願い致します。 <html> <body> <table border=1> <form method="post" action="<?php echo($_SERVER["PHP_SELF"])?>" ENCTYPE="MALTIPART/FORM-DATA"> <tr><TD><INPUT TYPE="FILE" NAME="FILE" SIZE=40></TD></tr> <tr><td><input type=submit value=送信></td></tr> </table> <?php if($_FILES["FILE"]["tmp_name"] != ""){ $FilePath = "./data/" . date("YmdHis") . "." . GetExt($_FILES["FILE"]["name"]); move_uploaded_file($_FILES["FILE"]["tmp_name"],$FilePath); }else{ echo("失敗しました!"); } //GetExt()関数の定義 //ファイル名から拡張子だけを取得する関数 function GetExt($FilePath){ $f = strrev($FilePath); $ext = substr($f,0,strpos($f,".")); return strrev($ext); } ?> </body> </html>
- split関数とexplode関数の違いと、define関数について
初歩的な質問なのですが二点質問させてください。 1・ split関数とexplode関数の明確な違い、使い分けがわかりません。 どちらも指定した区切り文字で分解できるのは分かるのですが、それぞれどういったケースで使い分けるのでしょうッか。 2・ define関数は定数名を決めて、その定数に内容として数値やストリングを格納できるようですが、 そもそも、変数にストリングや文字を入れればいいだけで、わざわざ「定数」というものを利用する意味、メリットというのは何があるのでしょうか。 よろしくお願いします。
- PHPでLinuxカウントを用いて認証
お世話になります。 PHPを用いてHTTP認証システムの構築を検討しています。 Linuxに登録されているアカウント:パスワード情報を利用する ことが、絶対条件です。 (SQLや.htaccessは不可です) PHPでなくてもperlで実現可能でしたら、どちらでも構いません。 root権限はありませんが、依頼すれば管理者が プログラムをroot権限で動かせてくれます。 http://www.php.net/manual/ja/features.http-auth.php を参考にしましたが、パスワードやユーザ名を適当に 入力してもOKリザルトになってしまいます。
- sqlの検索結果件数を知りたい
select文で検索した結果を表示させる際に、その件数も表示させたいのですが、どのようにすればよいのでしょうか? select文を実行したときに返ってくる値に件数を表すものはありますか? ご教授いただけたら幸いです。
- PHPでredeclareのエラーがでるのですが...
こんにちわ、 現在PHP4でweb作成をしています。それで認証はPHPLIBを使用しているのですが、 「Fatal error: Cannot redeclare class db_sql in /usr/local/apache/phplib-7.4/php/db_pgsql.inc on line 12」 というエラーがでます。 ただ、DB_Sqlというクラスはこのdb_pgsql.incでのみしか使用しておらず(class DB_Example extends DB_Sqlはlocal.inc内で使用しています)、原因が解りません。 おそらく、.htaccess内でprepend.phpをauto_prepend_fileと指定していて、そのprepend.phpのなかで、 (前略) require($_PHPLIB["libdir"] . "db_pgsql.inc"); require($_PHPLIB["libdir"] . "ct_sql.inc"); require($_PHPLIB["libdir"] . "session4.inc"); require($_PHPLIB["libdir"] . "session4_custom.inc"); require($_PHPLIB["libdir"] . "auth4.inc"); require($_PHPLIB["libdir"] . "perm.inc"); require($_PHPLIB["libdir"] . "user4.inc"); require($_PHPLIB["libdir"] . "menu.inc"); require($_PHPLIB["libdir"] . "local.inc"); require($_PHPLIB["libdir"] . "page4.inc"); : (後略) としているために、毎回db_pgsqlがよみこまれるためだとおもいますが、よくわかりません。 質問として漠然としていますが、もしもエラーについてすこしでもなにかしっている方、アドバイスの方、宜しくお願いします。 ちなみにphplib-7.4をインストールしてからかえたのは、 -- .htaccessをかえた(auto_prepend_fileをかえた) -- prepend.phpのdb_mysqlをdb_pgsqlにかえた くらいです。 宜しくお願いします。
- フォームの値の受け取り
今日は。フォームの内容の受け取りについて質問があります。よろしくお願い致します。 早速ですが、例えば、<form action="test.php" method="post"><input type="hidden" name="info" value="aiueo"></form> という情報を次のページの PHP で受け取るとなると、$_POST{'info'} としますよね、普通。いつもこれでできていたのですが、何故か今回は $info としないとできなくなってしまいました。間違いなく method="post" と指定しているのですが・・・・。 どうして動作にこの様に二通りのものが出てくるのかが知りたいのです。どっちで作ってよいやら分からず、困ってしまいます。 よろしくお願い致します。
- 「戻る」ボタンで値の保持
PHPやCGIなどで同じファイルにデータをポストした後に、ブラウザの「戻る」ボタンで戻ったときに「ページの有効期限切れ」になってしまうのですが、回避する方法はないでしょうか。 元のページとフィールドに入れた値を保持することはできないでしょうか。 他のファイルからポストしない限り値の保持は難しいのでしょうか。
- 文字列変換について
質問させてください。 携帯のサイトで各種(Vodafone, au)携帯電話からBBSに感想を入力する画面を作成しました。 入力される文字列は文字、数字、絵文字があります。 入力されたデータはPostgreSQLのDBに格納しています。 その格納された文字列(絵文字含む)を各種携帯で 表示してみたところ、お互いの絵文字が問題に なったため、変換処理を追加しました。 ======================================== $msg = "********";(DBから取得した文字列(絵文字含む)) $emoji = file(emoji_file.txt); for($r=0;$r<count($emoji);$r++){ $string = chop($emoji[$r]); $emoji_data = split("===", $string); if(strstr($msg, $emoji_data[0])){ echo("HIT"); $msg = eregi_replace($emoji_data[0], $emoji_data[1], $msg); } } echo($msg); ====================================== emoji_file.txt $Fr===1 $G-===281 $G.===287 ====================================== 上記のプログラムで、 DBから取得した文字列内にemoji_file.txt にある絵文字データがあれば数値に変換したいと 考えていますが、"HIT"が表示されるにも かかわらず変換されずに表示されます。 これは、"$G."などVodafoneの絵文字が 普通の文字列と違うからでしょうか? 宜しくお願い致します。
- クライアントのOSを判別する方法
こんにちは。 こちらへ書き込みするのは久しぶりです。。。 クライアントのOS及びバージョンを判別したいのですが、ユーザエージェントではMACのバージョンまで取れずいろいろと考えあぐねいています。 PHP4.3を使っています。 良い方法をご存知の方いらっしゃいましたら、なにとぞお知恵をお貸しください。 よろしくお願いいたします。
- ベストアンサー
- PHP
- noname#45976
- 回答数1
- foreachのなかで次のキーを参照するには
こんばんわ, 現在PHPを学習しています。 たとえば, $hoge[0]=1; $hoge[1]=2; $hoge[2]=3; $hoge[3]=4; $hoge[4]=5; $hoge[5]=6; $hoge[6]=7; と配列があり,これをforeachで回していく際に,hogeが5になったときには,次の配列の要素である6を参照したい場合に foreach($hoge as $val){ if($val == 5){ /* $valの次の要素を見たい */ } else{ echo $val; } } をどのようにすれば,よろしいでしょうか。foreach文ではだめなのでしょうか。 nextやeachをしようしようとおもったのですが,うまくいきません。 よろしくお願いします。
- PHPの preg_grep関数(正規表現)について
こんにちわ, 今PHPで 配列$valに val[0]-> 'HOGE' val[1]-> 'HOGE' val[2]-> 'Time' val[3]-> 'Total' val[4]-> 'Time' val[5]-> '->' val[6]-> '00:00:02' と入っているときにpreg_grep関数を使用して,$time配列にval[6]の時間のフォーマットをした文字列を入れたいのですが, $time = preg_grep("/(..):(..):(..)/",$val6); としても,$time[0]にはうまく入りません。 どこが悪いのでしょうか。 ちなみに,正規表現のいいHPなどがあればついでに教えてください。 よろしくお願いします。
- phpでディレクトリにあるファイル数を知るには?
こんにちわ, 今phpであるディレクトリ以下のファイルをすべて,リスト(select)で表示したいのですが,そのフォルダにいくつファイルがあるかを知りたいのです。 $d = dir("/HOGEHOGE"); echo "<select name=\"file\" size=??? multiple>"; while($entry=$d->read()) { echo "<option value=\"$entry\">$entry"; } $d->close(); 上記のことで???にそのファイルを入れることができれば,それができると思うのですが,何かいい方法,またはそのようなファイル数を知る「ls|wc -w」のような方法があれば教えてください。 よろしくお願いします。
- 変数名の自動生成(投票の多重投稿防止)
投票システムを作っていますが、多重投稿を防ぐためにクッキーに値を保存しようと考えました。(それほど厳密な多重投稿防止ではないので) 投票するアイテムが複数あり、1番目のアイテムに投票した場合は、同じアイテムには連続して投稿はできないけれど、他のアイテムには投票できると、要するに投票されたアイテムもクッキーに保存しておきたいのです。 今、 setcookie("ABC","vote".$id."=1",time()+90*24*60*60); として、id1に投票した場合はvote1という変数に1が保存されるようになっています。 で、2番目、3番目のアイテムに投票された場合や、投票時にすでに投票されているかどうかチェックするときにクッキーの情報を呼び出すわけですが、変数名自体を自動生成させるのはどうすればいいのでしょうか。 例えば、id1に投票があったかどうかチェックする場合に if(isset($ABC)){ parse_str($ABC); if(isset("$vote".$id)){ ・・・ とは書けないですよね? 変数名自体を作る方法を教えてください。 また、このような状態で多重投稿を防ぎたい場合に、もっと簡単な方法はないでしょうか。 (クッキーを使わない方法でも結構です) あわせて教えて頂けると嬉しいです。 よろしくお願いいたします。
- PHPでページリンク表示方法
ズバリこの教えてgooの右下にある 「1|2|3|/3項」 のようなリンクページのPHPロジックを教えていただけないでしょうか。
- PHPを使えるサーバー
有料のレンタルサーバーを借りる前に、どこか無料のサーバーでPHPを試してみたいと思っています。前に見つけたHPで無料でしかも広告がないといううPHPを使えるサーバーがあったのですが、わからなくなってしまいました。そこでなくてもいいのですが、PHPを使えるサーバーで、POP広告などの入らないところをご存知なら教えてください。よろしくお願いします。
- windows2000での使用者名の変更について
windows2000での、システムのプロパティで使用者名を変更する方法はあるのでしょうか? あれば操作方法を教えてください。
- ベストアンサー
- PHP
- noname#72697
- 回答数2
- PHPLIBでのエラー
こんばんわ, 現在自分のHPをPHPLIBを使用したセッション認証を取り入れようとしているのですが,エラーがでてしまいます。 エラーの内容は, Warning: main(db_pgsql.inc): failed to open stream: No such file or directory in /XXXXXXXXXXX/prepend.php on line 30 Fatal error: main(): Failed opening required 'db_pgsql.inc' (include_path='.:./include:./template') in /XXXXXXXXXXX/prepend.php on line 30 という内容が出ています。 そのprepend.phpの中は, 25 #ORIGINAL 26 $_PHPLIB["libdir"] = ""; 27 28 29 30 require($_PHPLIB["libdir"] . "db_pgsql.inc"); となっています。 また,同ディレクトリにある.htaccessには 3 DirectoryIndex index.php 4 5 <IfModule mod_php4.c> 6 php_value include_path ".:./include:./template" 7 8 php_value auto_prepend_file "prepend.php" 9 </IFModule> 10 11 AddType application/x-httpdphp .php .inc .ihtml となっています。 おそらく初歩的な質問だとは思いますが, よろしくお願いします。
- session(PHP)が表示されない。
sessionを理解するために簡単な例文を入力して sessionを呼び出そうとしました。 しかしできません。文法上は本のCDを丸写しなので 問題ないと思います。 設定(php.ini)で何か確認する場所があればお願いします。 Windows XP Apache 1.3.27 PHP 4.3.1 session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 180 180 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_dividend 100 100 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler 0 0 session.save_path /tmp /tmp session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid On On
- ベストアンサー
- PHP
- noname#4862
- 回答数1