検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- mysql→EUC-JP、php→UTF-8の時の文字コード変換箇所について。
こんにちわ。 現在xreaのサーバーを使っているのですが、私が借りている サーバーはmysqlの文字コードがEUC-JPで固定されており、 WebページはUTF-8で書いている為、データを取り込む時、 上げる時共に文字化けしています。 色々試行錯誤したのですが、エラーが出てしまいうまくいきません。 そこで、このような環境の時はどの部分で、文字コードの変換処理を すればいいのでしょうか? (SQL文で行うべきか、PHP文で行うべきか、それともお互いで処理するべきか。) サーバー環境は以下です。 Apache 1.3.37 PHP 5.1.4 MySQL 4.0.26 よろしくお願いします。
- ベストアンサー
- PHP
- rakuda2525
- 回答数5
- PHPでシステムを作っています。skype APIについての質問です。
PHP,MySQLを使ってシステムを作っています。サーバーはApacheです。 ユーザ同士が会話できる機能をつけたくて、Skype API を使おうと思っています。 Skype APIについて調べましたが、私の能力不足のため理解できませんでした。 どのように導入すればいいのか(手順)を分かりやすく教えてください。 あまりコンピュータには詳しくありませんが、よろしくお願いします。
- ベストアンサー
- PHP
- durandal-2
- 回答数1
- PHPモジュールをロードしようとすると、Apache2.2が起動しなくなります。
PHPの勉強をしたいと思い、WindowsXPにApache2.2.3とPHP5.2 を入れました。 Apache2.2はインストールして、PHPの設定をしなければ、 起動し、IEでhttp://localhostに接続すると「It works!」出ます。 しかし、httpd.confをPHP用に、 LoadModule php5_module C:\PHP\php5apache2.dll とモジュールをロードするよう記述すると、 「ローカルコンピュータでApache2.2を開始できません。 詳細については、システムイベントログを確認してください。 これがMicroSoft以外のサービスである場合は、サービスの製造元に 問い合わせてサービス固有のエラーコード1を参照してください。」 とダイアログが表示され、Apacheが起動しなくなってしまいます。 イベントログには 「Apache2.2 は次のサービス固有のエラーで終了しました: 1 (0x1)」 とあるだけでした。 C:\PHP\php5apache2.dllのパスは間違いないです。 何度インストールし直しても起動しません。 どなたか分かる方いましたらお願い致します。 またインストール時の参考には以下のサイトを見ました。 http://www.goodpic.com/mt/archives/000577.html http://www.y2sunlight.com/ground/?PHP5.0%2F2.Apache2%A4%CE%C0%DF%C4%EA http://allabout.co.jp/internet/database/closeup/CU20050319A/index.htm よろしくお願いします。
- ベストアンサー
- ハードウェア・サーバー
- tokiomi
- 回答数7
- PHP+MySQLでSJISからEUCへの文字コード変換方法を教えてください。
こんにちは。いつもお世話になっております。本来であれば自サーバーで検証してから質問すべきだとは思いますが、現在稼動中のサーバーしかなく、止めることができないので質問させていただきます。 現在、PHP+MySQLでサイトをSJISコードで運営しておりますが、「表」「能」等のSJISの文字化け対策が面倒になってきまして、EUCに変換してしまおうかと検討しております。 現状の日本語に関する設定は下記のようになっております。 ▼MySQL(my.cnf) バージョン:4.1.20 [mysqld] default-character-set=sjis init_connect="SET NAMES sjis" [mysql.server] default-character-set=sjis [mysqldump] default-character-set=sjis [mysql] default-character-set=sjis ▼PHP(php.ini) バージョン:4.3.9 mbstring.internal_encoding = SJIS mbstring.http_input = pass mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto PHP内でMySQLと接続した直後に次のようにSJISを指定しています。 $sql="SET NAMES sjis"; mysql_query($sql); ちなみに、MySQLはMySQLadminで管理しておりますが、テーブルの照合順序は全てsjis_japanese_ciになっています。 上記のような内容ですが、この場合SJISからEUCに変換する場合の手順として、下記の流れでよろしいでしょうか? 1.PHPファイルをEUCコードに変換。 2.php.iniのSJISの部分をEUCに変換。 3.MySQLの設定ファイルのsjisの部分をujisに変換。 4.MySQLのテーブル内のデータを全てエクスポートして、外部エディタでEUCに変換後インポートする。 特に上記4の作業はテーブル数及びデータが膨大なため結構な作業になってしまいそうです。 もしもっと楽な方法があればご教授いただければ幸いです。なお、サーバーはRed Hat Enterprise Linuxです。
- ベストアンサー
- PHP
- Crystalize
- 回答数1
- system() 関数でスクリプトの代わりに変数内のphpコードを実行させる
system() 関数でphpスクリプト(例えば、script.php)を実行するときは、 system("php script.php &"); でできますが、これを、script.php のデータの内容がそのまま入っている $phpcode を実行させることなどできますでしょうか? 例えば、 $phpcode = file_get_contents('script'); system("php $phpcode &"); などとしてもだめですよね。 いったい何をしたいのかと申しますと、データベース内にスクリプトを保存し、任意に呼び出して実行できるようにしたいのです。 もし方法をご存知の方おられましたらどうぞよろしくお願いいたします。
- 外注PHPソースからWorm.Avron検出!?何が原因なのか困ってま
外注PHPソースからWorm.Avron検出!?何が原因なのか困ってます 個人経営の商店で小規模のECサイトを現在構築中です。 私のレベルは、ちょっとパソコンが出来るから、という理由だけでサイト管理者になってしまいました。 現在PHPの初歩向け教本で必死に勉強中の身分です。 社長は何年も前から店のEC化にお金だけは注ぎ込んでたらしく、人に言われるままに買い込んだ色々なスクリプトをどさっと渡されています。 先日ローカルマシン上でウイルスチェッカを回したら、社長がオーダーしたECサイト用PHPのうち、メール送信モジュールだけが「Worm.Avron」としてひっかかりました。 VirsTotalで再チェックすると、43社中、16エンジンで陽性反応なので少々慌てています。 http://www.virustotal.com/file-scan/report.html?id=ba43c6dac7bb642872bee3183c262b19c949f99f2af73796a1cbe4326f55803a-1286980743 問題のPHPソースはこちらです。 http://www1.axfc.net/uploader/File/so/52671.dat お店の登録会員が誕生日になると、お祝いメールを送信するモジュールです。 (300行程度です) charset=iso-8859-1 だったりする部分は直さなきゃ、と気づくのですが、 プレーンテキストのPHPスクリプトが、なぜワームとして検出されるのか? ソースを見ても私の力ではよくわからない状態です。 VirsTotalの43社中、27エンジンでは「無罪判決」なので、どうか誤検知であってほしいと思っています。 でも、本当にこのPHPがワームとして働くならば店の信用問題になってしまいます。 今の私のレベルでは、ワーム扱いになっている行さえ書き直せば済むのかな? という認識で投稿しているのですが・・・ どなたかソースを見ていただけませんでしょうか?
- ベストアンサー
- PHP
- eddie_vinson
- 回答数3
- 【初歩】PHP_SELFで更新先の画面に変数の値を渡すには?
下記のような構造のPHPスクリプトで,更新ボタンを押して PHP_SELFで同じ画面を再表示した際,$varの中が空っぽに なってしまうのですが,「1」を維持するにはどうしたらいいですか. <form></form>の間に,type="hidden"のフォームを設けて 格納するとかしかないでしょうか? <form method="post" action="<?php $_SERVER["PHP_SELF"] ?>"> ~~フォーム部品~~ <input type="submit" name="reg" value="更新"> </form> <?php $var = 1; ?>
- サーバー変更時のDNS変更に伴うPHP、CGIの不具合について
先日、専用サーバーから別会社の専用サーバーにサイトのデータを移しDNSの変更をしました。 DNSの変更は無事に終わったようなのですが、サイト内のPHPとCGIが正常に動いていません。DNS変更が完全に終了するのには24~48時間かかるということなのですが、変更を行ってからすでに70時間以上経っていますが未だに正常に動きません。 サーバー会社、もしくはドメイン管理会社によっては今回のように48時間以上の時間が必要な場合があるのでしょうか? また、もしいくら待ってもダメな場合に解決に向けて出来ること、またはやらなければいけないことなどがあったら教えてください。よろしくお願いします。 とりあえずPHPとCGIは旧サーバー、および自家サーバーでは正常に動いているので、それらのスクリプトは何度か新しいサーバーにアップロードしてみましたが結果は変わりませんでした。
- ベストアンサー
- その他([技術者向] コンピューター)
- lacoony
- 回答数4
- Apache, httpd.conf設定 - .htmlでphp/ssi共に使えるようにするには?
いつもありがとうございます。 Apacheの設定に詳しい方に質問です。 拡張子.htmlでphp使えるようにhttpd.confまたは.htaccessに記述するヤツありますよね。あのやり方は知ってるのですが、いままでうちでそれをやると.htmlファイルがダウンロードされてしまうという現象があったのですが、今日ようやくその原因がわかりました。ssiの記述とカブってるとダメなのですね。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .html と書くとうまく動きません。ssiは動くけど、phpはダメです。 それでその回避策として以下のように書くというのを教わりました。 AddHandler server-parsed .shtml .html AddType application/x-httpd-php .htm すると、 .html -> ssi .htm -> php という風に確かに動くんですが、これではちょっと困る。 既にサーバ内のあちこちで.htmlにてssiを多用してしまっているのです。 そこで質問なのですが、ssi&php共に、.htmlで動く方法はあるんでしょうか? 環境:Fedore Core 4 + Apache2.0.54 + PHP Version 5.0.4 よろしくお願いします。
- ベストアンサー
- ハードウェア・サーバー
- DM9
- 回答数1
- PHPをブラウザで表示させた画面をドリームウィーバーで変更したい
以下のフォーラムPHPをご覧ください http://www.be-emotion.com/hyipforum/ このページはPHPによって作られている画面です この画面をHTMLのようにドリームウィーバーで 文章の変更 リンクの挿入 バナーの挿入をしたいのですが どうすればこのページを変えられるのか全くわかりません ちなみにこのPHPは http://support.hiikun.net/phpbb2/ から配布されておりました
- ベストアンサー
- PHP
- master817199
- 回答数1
- さくらインターネットで500Internal Error
http://faq.sakura.ad.jp/faq/1032/app/servlet/qadoc?000044 さくらインターネット初心者です。 これまでロリポで使っていたスクリプトをさくらにそのままそっくり移動したところ500エラーでした。 原因を探るべく、hello worldを作ってUPしたところ、.htaccessがあるとエラーが起こることがわかりました。もちろんパーミションもさくらにあわせて実行しました。 .htaccessの中身 Options -Indexes DirectoryIndex index.php <Files ~ "\.(db|log|ini)$"> Deny from all </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1 </IfModule> php_flag register_globals off php_flag magic_quotes_gpc off php_value default_charset UTF-8 php_value mbstring.input_encoding pass php_value mbstring.internal_encoding UTF-8 php_value mbstring.output_encoding pass php_value mbstring.language Japanese php_value mbstring.substitute_character none php_flag session.use_trans_sid Off php_flag session.use_cookies On php_flag session.use_only_cookies On php_flag session.auto_start Off php_value session.cache_limiter none php_value error_reporting 039 php_flag display_errors Off php_flag display_startup_errors Off php_flag log_errors On php_value error_log "./error.log" なぜ上記、エラーが起きてしまったのでしょうか?ご存知の方いたら訓えてください。
- ベストアンサー
- PHP
- noname#102619
- 回答数2
- wordpressで投稿記事を3パターン表示したい
投稿記事を3ファイルに分けて表示したいのですが、うまくいかず全てpage.phpとして表示されます。振り分けることができないのですが、アドバイスよろしくお願いします。 前提として page.php page-secound.php page-third.phpの3ファイルがあり固定ページのテンプレートにしている。 <?php /* Template Name: 画像2タイトル1 Template Post Type: page */ ?> <?php /* Template Name: 画像3タイトル1 Template Post Type: page */ ?> 以下のカスタムフィールド名を各記事に割り振っております。 single_rss_feed1 duuble_rss_feed 2 triple_rss_feed 3 ※1つ目の方法 <!--index.phpの文頭に書くコード--!> <?php if(get_post_meta($post->ID,'single_rss_feed1',true) == 'A'): ?> <?php include(('main-first.php') == 'A'); ?> <?php elseif (get_post_meta($post->ID,'duuble_rss_feed2',true) == 'B'): ?> <?php include(('page-secound.php') == 'B'); ?> <?php elseif (get_post_meta($post->ID,'triple_rss_feed3',true) == 'C'): ?> <?php include(('page-third.php') == 'C'); ?> <?php else: ?> <?php endif; ?> _______________________________ ※2つ目の方法 <!--functions.phpに書くコード--!> function custom_template_include($template) { global $post; if (!is_page()) return $template; if (get_post_meta($post->ID, ' duuble_rss_feed 2')) $new_templete = locate_template(array('sub-secound.php')); if (get_post_meta($post->ID, ' triple_rss_feed 3')) $new_template = locate_template( array( 'sub-third.php' )); if (!empty($new_template)) return $new_template; return $new_template; }
- エラーログの意味と対処方法を教えてください
http://www.mt312.com/のフリースクリプトの携帯対応掲示板 REP-BBSでエラーログが大量に放出されました。 その一部を書きます。 PHP Notice: Undefined index: HEAD in xxx/model.php on line 158 PHP Notice: Undefined index: page in xxx/model.php on line 793 PHP Notice: Undefined variable: nStart in xxx/model.php on line 1088 PHP Notice: Undefined index: mode in xxx/model.php on line 547 PHP Notice: Undefined index: mode in xxx/index.php on line 15 PHP Notice: Undefined index: page in xxx/model.php on line 480 まだまだあります。 サーバーから数十ギガバイトのエラーログがあると指摘されました。 どれかひとつでもいいです。対処方法教えてください。
- 締切済み
- PHP
- takuto0707
- 回答数2
- PHP5で正規表現を使った文字の取り出しが上手くいきません。
PHP5で正規表現を使った文字の取り出しが上手くいきません。 こんばんは、教えて!goo初投稿させて頂きます。 PHP5で学内の事務情報を管理するスクリプトを組んでいます。 学籍番号から入学年度・学部・名簿番号を取り出したいのですが、狙った通りに上手く動いてくれません。 POSTで渡された テキスト内に含まれた7桁の学籍番号「0708068」(2:2:3桁区切りで入学年度・学部・名簿番号)をマッチングさせる為に、正規表現「\d{2}\d{2}\d{3}」で 配列 $regs に返し、 $regs[0] => 07 $regs[1] => 08 $regs[2] => 068 のような感じで戻ってくる事を想定しています。 手元の書籍、ネットのリファレンスで確認しても問題点が解りません。 何が間違っているのか、ご指摘お願いします。 //上手く動いてくれないコード $text = "私の学籍番号は0708068番です。"; if(ereg("\d{2}\d{2}\d{3}",$text,$regs)){ echo "true.\n"; echo ($regs[0]."\n".$regs[1]."\n".$regs[2]."\n"); }else{ echo "false.\n"; //いつもfalseが帰ってきてしまう。 }
- ベストアンサー
- PHP
- Nishihashi
- 回答数1
- jqueryでAJAX非同期通信をしてphpからメールを送信する。送信
jqueryでAJAX非同期通信をしてphpからメールを送信する。送信完了後にlightbox風に「送信しました」と表示させたい。 sendmail.phpにpostでフォームの内容が渡りません。どうやってsendmail.phpに値を渡して sendmail.phpの$msgを戻して、表示させるのでしょうか? 素人です。1週間ほど調べましたが、これが限界でした。 宜しくお願いします。 index.php <script type="text/javascript" src="jquery-1.3.2.js"></script> <script type="text/javascript"> //<![CDATA[ $(function(){ $("#exeBtn").click(function() { $.ajax({ url : "sendmail.php", type : "post", data : ({ message: $('#message').val(),{off:$('#exeBtn').val()}), datatype:'json', success: function( dispMsg(){ if('<?=$msg?>' != ''){ alert('<?=$msg?>'); } }}, }); }); }); //]]> </script> </head> <body> <form> <input id="message" type="hidden" name="message" value="EntryTitle"/> <input id="exeBtn" type="button" name="off" value="リンク切れ" /> </form> </body> </html> sendmail.php <?php header(’Content-Type: text/xml; charset=UTF-8′); $off=$_POST["off"]; $body = stripslashes($_POST['message']); if ($off != ""){ $to = "hogehoge@hogehoge.co.jp"; $subject = "報告"; $subject=mb_convert_encoding($subject,"JIS","utf-8"); $body=mb_convert_encoding($body,"JIS","utf-8"); $ret = mb_send_mail($to,$subject,$body); if($ret){ $msg = '送信しました'; }else{ $msg = '送信失敗しました'; } } } ?>
- PHPでOOPを専門に解説した本って実はまだないの?
PHPでOOPを専門に解説した本って実はまだないの? 昔、かなり探し回った記憶があるんだが、 結局、見つからなかったんだよね 普通のPHPの本だと、終わりの方に、 「おまけ」的に、ちょぼっと、 書いてあるだけだし。 もっと300ページくらい使って PHPのOOPについて書いて欲しいよ
- 基礎からのPHPという学習本で勉強中です。PEAR::DBモジュールの
基礎からのPHPという学習本で勉強中です。PEAR::DBモジュールのインストールがうまくいきません。 OS:Windows XP php-5.2.3-Win32.zip を使用。 C:\Program Files\PHP5 (ディレクトリ) 下記のとおりphp.iniを変更・追加しました。 include_path = ".;C:\Program Files\PHP5\includes"(追加) ; extension_dir = "./"(コメントアウト) extension_dir = "c:\Program FIles\PHP5\ext"(追加) extension=php_gb2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_pdo.dll extension=php_pdo_mysql.dll (コメントアウトをはずす) mbstring.internal_encoding = SJIS(修正) apache_20204-win32-x86-no_ssl.msi を使用。 下記のとおりhttpd.confを変更・追加しました。 LoadModule php5_module "c:\Program Files\PHP5\php5apache2_2.dll"(追加) PHPiniDir "C:\Program Files\PHP5"(追加) DirectoryIndex index index.html index.php(追加) Include conf/extra/httpd-languages.conf 下記のとおりmime.typesを変更・追加しました。 application/x-httpd-php php(追加) 下記のとおりhttpd-languages.confを変更・追加しました。 DefaultLanguage ja(修正) AddDefaultLanguage ja(追加) mysql-5.0.45-win32.zip を使用しました。 go-pear.batの実行結果。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\php5 \ext\libpdf_php.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Are you installing a system-wide PEAR or a local copy? (system|local) [system] : この状態でインストールを継続するとphp.iniの内容変更メッセージが表示されず、うまくインストールできません。 libpdf_php.dll ファイルはこの書籍の添付CDに数種類添付されておりそのなかに4つのフォルダがあります。 php-503 php-510 php-520 php-520-nozts フォルダそれぞれにlibpdf_php.dllファイルが保存されています。 C:\Program Files\php5\ext\にlibpdf_php.dllを保存し、go-pear.batを実行しましたが、 ** WARNING! Old version found at C:\Program Files\PHP5, please remove it or be s ure to use the new c:\program files\php5\pear.bat command The 'pear' command is now at your service at c:\program files\php5\pear.bat * WINDOWS ENVIRONMENT VARIABLES * For convenience, a REG file is available under C:\Program Files\PHP5\PEAR_ENV.re g . This file creates ENV variables for the current user. Double-click this file to add it to the current user registry. 続行するには何かキーを押してください . . . となりやはりうまくインストールできません。 どなたか解決方法がお分かりの方がいたら教えてください。 よろしくお願いします。
- PHPで ?seq= の後に続く数に応じてUR転送するには?
PHPで ?seq= の後に続く数に応じてUR転送するには? 最近、勤務先のサイトを移設しました。 旧サイトの入っていたレンタルサーバがサイバー攻撃を受けて壊滅してしまったために別の業者のサーバで新規にサイトを作ったのですが、旧サーバで動いていたPHPは旧サーバの業者が作ったブラックボックスなので、外部から張ってあるリンクをそのまま新サイトで活かすことが出来なくて困っています。 例えば、 http://www.okwave.ok/test.php?seq=1 にアクセスされた場合は http://www.okwave.jp/ に転送 http://www.okwave.ok/test.php?seq=2 にアクセスされた場合は http://www.goo.ne.jp/ に転送 http://www.okwave.ok/test.php?seq=3 にアクセスされた場合は http://www.yahoo.co.jp/ に転送 という事がしたいとします。 先程、「PHP 転送」と検索していて、下のようなソースのPHPを作るとURL転送は出来るということがわかりましたが、下の例では、 http://www.okwave.ok/test.php?1 にアクセスされた場合は http://www.okwave.jp/ に転送 http://www.okwave.ok/test.php?2 にアクセスされた場合は http://www.goo.ne.jp/ に転送 http://www.okwave.ok/test.php?3 にアクセスされた場合は http://www.yahoo.co.jp/ に転送 ということになってしまいます。 サーチエンジンで色々検索してみると、seqコマンドというものがひっかかってくるのですが、ということはもしかして、seq= と指定してしまうと、PHPのコマンドに関係してしまって、私の望むようなことは出来ないということでしょうか? 下のソースを部分的に書き替えることで、 http://www.okwave.ok/test.php?seq=1 にアクセスされた場合は http://www.okwave.jp/ に転送 http://www.okwave.ok/test.php?seq=2 にアクセスされた場合は http://www.goo.ne.jp/ に転送 http://www.okwave.ok/test.php?seq=3 にアクセスされた場合は http://www.yahoo.co.jp/ に転送 という事を実現できないでしょうか? できるとしたら、どう書き替えればいいでしょうか? ↓これが、先程探し当てたソースです。 <?php switch(array_shift(array_keys($_GET))) { case 0: // 何も指定しない時 header("Location: http://www.okwave.jp/"); break; case 1: // ?1 のとき header("Location: http://www.okwave.jp/"); break; case 2: // ?2 のとき header("Location: http://www.goo.ne.jp"); break; default: // その他の時 header("Location: http://www.yahoo.co.jp/"); } exit; ?> PHPの基礎知識がないのですが、Perlは少しわかるのでPHPも入門サイトなどを見ると部分的には「ああ、こういう意味かな?」と想像できる部分はあるものの、じっくり勉強する余裕がなく、何とか早急に対応しなければなりません。 どうかよろしくお願い致します。
- 超初心者です。 PHPで、htmlの指定した箇所に書き込みたい
超初心者です。 PHPで、htmlの指定した箇所に書き込みたい のですが、どのようにすればよいでしょうか? 書き込みはできたのですが、 先頭か最後、にしか書き込めず、 任意の箇所に書き込むことが出来ません。。 2つのファイルを作りました。 index.php index.html index.htmlの内容 ================================ <body> <p class="a"> サンプル </a> </body> ================================================= ↑これの、Pタグのクラス名を "a" から "ab" に書き換えたいです。 phpは現状以下のようになっています。 index.phpの内容 ================================ $htmlfile = fopen("index.html", "a+"); fwrite( $htmlfile, "b" ); fclose($htmlfile); ================================================= ですがこれだと、 <body> <p class="a"> サンプル </a> </body> b ↑最後にbが書き込まれてしまいます。 <p class="a●"> ●部分に書き込むときは、どう指定すればよいのでしょうか? ネットや書籍で調べても、 場所を指定する方法が見つからず困っています。 どなたかご存知の方いらっしゃいましたら どうかご教授よろしくお願いいたします。
- ベストアンサー
- PHP
- noname#179453
- 回答数3
