検索結果

PHP

全10000件中8061~8080件表示
  • 全てのカテゴリ
  • 全ての質問
  • PHPでfile()を使った際の配列の要素について

    PHPのfile関数の動作について質問させて頂きます。 テキストファイルからfile()を使って配列に各行のデータを取り込んだのですが、その配列から特定の要素を探そうとしたところ、検出できませんでした。 テキスト.txtの内容------- AAA BBB CCC --------------- $array = file("テキスト.txt"); $word = "AAA"; $keys = array_keys($array,$word); var_dump($keys); 簡略化しましたが、こんな感じで実行するとAAAが格納されているはずの[0]番目のkeyは検出されません。 bar_dumpを使って$array[0]と$wordを確認してみたところ、以下のようなデータが帰ってきました。 $array[0] → string(5) "AAA" $word → string(3) "AAA" まったく同じ文字列なのに、配列の方の長さが2ほど大きくなっています。 そこでtrimを使用してみたところ、配列からこの謎の2バイト?のデータが削除できました。 検索も正しく動作するようになりました。 文末に改行が入ってるのかとも思ったのですが、\nを削除する処理では検索が出来なかったので、不思議に思っております。 テキストファイルから取り込んだ際に、文字列の前か後ろに何らかの文字が入っているのだと思うのですが、実際どのような文字が入っているのでしょうか? ---------------------------------- それともう一つお聞きしたいのですが、 テキストファイル内容がある程度長い(100行以上、または1万文字以上など)場合、file()で配列にデータを取り込むのは負荷が大きかったりするのでしょうか? fgetsで1行ずつ取り出して比較する方法も考えたのですが、処理の繰り返しと取り込むデータの大きさのどちらに配慮するべきか悩んでいます。 もし100行や1万文字が多い・少ないという感覚になる場合、実際「配列にするには大きすぎる」という感覚はどれくらいの容量から考えるべきでしょうか? 後半の質問につきましては明確な答えで無くても、「自分はこう感じる」というような感覚的なご意見でもお聞きしたいと思っています。 お手数をおかけしますが、どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPで重複をカウントし数ごとに配列を分けたいです

    PHPの配列で重複項目をカウントし、その重複数ごとに別々の配列に格納したいです。 $wordに "ねこ"というワードが12個 "いぬ"というワードが8個 "うさぎ"というワードが5個 "りす"というワードが2個 入ってて 10個以上なら$wd1にワードを 5個以上、10個未満なら$wd2にワードを 入れるというようにしたいです。 $wd1 = ("ねこ"); $wd2 = ("いぬ","うさぎ"); のような感じにしたいです。 $word = array_count_values($word); if(○○○ >= 10 ){ }else if(○○○ < 10 && ○○○ >= 5 ){ } というような感じで書きたいのですが、どうしたらいいですか?

    • ベストアンサー
    • PHP
    • azu200
    • 回答数2
  • PHPで一時停止しながら最後まで処理を到達させたい

    エックスサーバーでPHP・MySQL・cron機能を利用して 以下のような挙動をさせたい、と考えています。 ********** 1.cronで5分おきに、前回処理から100分経っているかどうかチェック 2.経っていたら、処理に必要なデータをDBから取得し、配列に格納(これ以降、DB接続はしない) 3.取得したデータを元に、ループで処理を回す 4.3の処理が5回行われたら一時停止(sleepを使用) 5.8分経ったら処理を再開 6.3~5の処理を8回行ったら処理終了 ********** しかし、現状では2~3回まではログが出力されるのですが、 それ以降のログが一切出ておらず、途中で処理が強制終了されてしまったのではないかと 思っています(エラーログ等も確認しましたが、何も出力されていませんでした)。 なんとか最後まで処理を到達させたいのですが、 強制終了の回避方法がまったく検討がつきません。 cronで8分おきに処理を行わせる、ということも考えたのですが 100分おきに処理を開始し、その上で8分おきにcron設定をする、という方法が 皆目見当がつきませんでした。 まったくの無知で申し訳ないのですが、 何かお知恵を貸していただけないでしょうか。

    • ベストアンサー
    • PHP
  • 現在PHPで診断メーカー的なものを作成しています。

    現在PHPで診断メーカー的なものを作成しています。 そこで、PHPの技術的なことでご質問です。 //$textArrayには50個程の文字列が入っています。 $txtNum = count($textArray); //$clickは入力された名前です。 $num = sprintf("%u",crc32($click)); //1個目の度の番号 $i= $num % $txtNum; //2個目の度の番号 $num2 = sprintf("%u",crc32($textArray[$i])); $i2 = $num2 % $txtNum; //3個目の度の番号 $num3 = sprintf("%u",crc32($textArray[$i2])); $i3 = $num3 % $txtNum; echo $i.'--'.$i2.'--'.$i3; 上記のように、名前に対して固定された文字列を配列から3つ抽出しています。 i,i2,i3ともにそれぞれ被らない数字にしたいのですが、上記のようにやると入力された名前によってはi,i2,i3でそれぞれ数字が被る場合があります。 これを被らないようにするには何か方法がありますでしょうか。 10進数を剰余代入することで、配列の中の数の範囲内で数字を抽出しています。 ばったりと詰まってしまい、ヒント等もらえますと幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • MysqlとPHPで5年前のものを絞込する方法

    MysqlのDATA型 sqlDATAがあります。 sqlDATAを基準に10年以内、20年以内、30年以内、というように絞り込みたいです。 $date1 = '2011-10-16'; $date2 = date('Y-m-d'); list($Y1,$M1,$D1) = sscanf($date1,'%d-%d-%d'); list($Y2,$M2,$D2) = sscanf($date2,'%d-%d-%d'); $Y3 = $Y1-($Y2-$Y1); $date3 = "{$Y3}-{$M1}-{$D1}"; $s = 'SELECT * FROM table WHERE sqlDATA<'.$date2.' sqlDATA>='.$date3; こういうやり方でよいのでしょうか。

    • 締切済み
    • PHP
  • 閲覧中のサイトの使用しているPHPのコードを見る

    PHPを利用しているサイトは個人、企業ともにありますが コードを見える状態にする、もしくはPHPのコードがついた状態でダウンロードすることは できるのでしょうか?

    • ベストアンサー
    • PHP
    • ubakew
    • 回答数1
  • ブラウザでファイルを管理できるphpないしperlでできたプログラムを

    ブラウザでファイルを管理できるphpないしperlでできたプログラムを探しております。 具体的には、下記のURLのものに、検索あるいはタグ(カテゴリ)分類の可能なものはないでしょうか? よろしくお願いします。 http://phpspot.org/blog/archives/2010/08/oselfinder.html

  • PHPでHTMLからPOSTされたデータが文字化けします。

    PHPでHTMLからPOSTされたデータが文字化けします。 超初心者ですので表現に誤りがあるかもわかりませんがお許しください。 現在、Win2003・MySQL5.1・PHP5.2と言う環境で簡単なデータベースを作成して、HTMLから検索して 一致したデータを表示させると言うものを作成しています。 検索欄に入力した一部の文字がどうしても文字化けしてしまい解決できません。 詳しくはまだ理解できていないのですが、おそらく検索窓に入力した文字がPOSTされて、それを受けたPHPが文字化けした文字でMySQLのデータベースを検索しようとしているのではないかなっと思ってます。 文字コードはすべてShift-JISで行っているつもりです。 たとえば、 全角の"。"や"?"などの2バイトコードが81**(違ってましたらすみません。。)入力すると "。"は"B"に文字化けされ、"?"は"H"に文字化けします。 また、"院"や"法"などの**40を入力すると"・>  <input type="と表示されて検索ボタンも消えておかしくなってしまいます。 これだけの情報ではお答えして頂けないかもわかりませんが、他にどのような情報があればいいのかもよくわかりません。 わかる範囲で結構ですのでご教授頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 【php】会員サイトを約2ヶ月の期間で新規に作る場合、

    【php】会員サイトを約2ヶ月の期間で新規に作る場合、 フレームワーク等を習得して サイトを作るか、 とりあえず、今ある知識の中で1からサイトを作るか どちらが効率がいいでしょうか? ちなみにフレームワークを使って会員サイトを作ったことはありません。 1から作るのは、少しかじったことがあります。 言語はphpです。

    • ベストアンサー
    • PHP
  • Ajax、PHP、MySQLでDBからデータをWEB上に表示するサイト

    Ajax、PHP、MySQLでDBからデータをWEB上に表示するサイトでDBのデータが変わるとWEBサイトの表示も変わるようにするにはどうすればいいのでしょうか。

    • ベストアンサー
    • AJAX
    • basi999
    • 回答数1
  • 「PHPの本について」というカテゴリを新設してほしい

    「PHPの本について」というカテゴリを新設してほしい

  • PCサイトを携帯変換してくれるphpスクリプトpc2m(http://

    PCサイトを携帯変換してくれるphpスクリプトpc2m(http://www.rcdtokyo.com/pc2m/note/)について質問です。 現在、UBE CGI(http://ubecgi.net/)さんの「承認制掲示板」という掲示板をPCサイト向けに運用しているのですが、 ユーザからの声もあり、携帯で閲覧&記事の投稿を可能にしようと思い、携帯変換スクリプト(pc2m)を使用させていただいています。 掲示板をPCとモバイル双方で閲覧と書き込みが出来るようにしたいと考えています。 そこで1つだけ問題が解決できなくて困っています。 携帯から携帯変換スクリプト(pc2m)を使用し、アクセスして記事を投稿することは出来たのですが 画像を添付して投稿すると以下のエラーが出てしまい、投稿を拒否されます。 ------------------------ ERROR ! アップロードできません ------------------------ 同じく、携帯変換スクリプト(pc2m)を使用しPCから画像を添付投稿しても同様のエラーになります。 同じ承認掲示板を携帯変換せずにPCからアクセスし、画像を添付で投稿すると無事に投稿できます。 どうすれば携帯変換スクリプトで変換した承認制掲示板を携帯電話から画像を無事に添付投稿出来るようになるのでしょうか。 どうしても問題を解決出来ないので皆様のお知恵をお借りできないでしょうか。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPの4.4.9と5.2.13の共存について。

    PHPの4.4.9と5.2.13の共存について。 OSはRHLE4で既存で動いているPHP4のプログラムがあります。 今回、開発してもらったPHP5のプログラムを同じサーバで動作させようと思っております。 既にPHP5.2.9が入っておりましたが、オプションでMySQLがなかったため、 PHP5をアンインストールして、ソースからコンパイルしてインストールしhttpdを再起動しました。 しかし、phpinfo()で確認したところ、PHPのVersionが5.2.9のまま変化ありません。 ソースからのインストールが初心者なもので大変申し訳御座いませんが、 PHP4と5の共存とソースからインストールした際のアンインストール方法を教えていただけますでしょうか? インストール方法は下記サイトを参考にPHP5バージョンで行ないました。 http://d.hatena.ne.jp/shogo0809/20100714/1279110673 ./configureオプションは下記です。 --prefix=/usr/local/php5 \ --with-config-file-path=/usr/local/php5/lib \ --with-sqlite \ --with-mysql=/usr/local/mysql5 \ --enable-sigchild \ --enable-mbstring \ --enable-mbregex \ --enable-force-cgi-redirect \ --enable-zend-multibyte \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib \ --with-zlib-dir=/usr \ --with-openssl \ --enable-ftp \ --with-curl \ --with-pgsql=/var/lib/pgsql

    • ベストアンサー
    • PHP
  • php次の画像の解釈について $num1 に5を

    php次の画像の解釈について $num1 に5を代入する $num1はすでに5になっていて、 条件の中で5===5の条件式がブール型によって trueだから次の処理のに進む $str に "ok"を代入する その$strに代入された中身をechoによって出力する それでOKが出力された この認識であっていますか?

    • ベストアンサー
    • PHP
  • phpのこの画像の解釈についてあっていますか?

    phpのこの画像の解釈についてあっていますか? もしも、echo $str;が波括弧?の内側にある場合 if文の条件がfalseのためそれ以降のプログラムが実行されず停止 何も出力されず終わる 今回の場合、echo $str;が波括弧?の外側にあるため if文がfalseのため中括弧の終わり } までの処理は実行されず 単独でecho $str;を実行しようとしたため 変数strが定義されていないのでエラーが出力された

    • ベストアンサー
    • PHP
  • XAMPPでPHP、MySQL、Smartyを使用してHPを作成しまし

    XAMPPでPHP、MySQL、Smartyを使用してHPを作成しました。 PHPなどは元々あるサンプルをいじって作った程度の素人です。 localhostで動作も確認できましたが、レンタルサーバへのアップのやり方がまったくわかりません・・・。 レンタルサーバはさくらインターネットです。 (htdocs、templates、libs等ファイルをどこにどのような状態で設置するのか・MySQLは同一サーバ内のものを使わないとダメなのか・パスの変更等←素人なので表現も間違っているかもしれません・・・) わかりやすいマニュアル等ございましたら、教えていただけませんでしょうか? 試行錯誤しながらやっとのことで作成したHPですので、最後までやり遂げたいです・・・。 ざっくりした質問で申し訳ないですが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • PHPの正規表現「preg_match」で漢字を含む場合のマッチパター

    PHPの正規表現「preg_match」で漢字を含む場合のマッチパターンについて 宜しくお願い致します。 preg_matchを使っての正規表現で、「あいうえおかきくけこ3月10日さしすせそ」という文字列から「3月10日」だけを抽出するには、どういうパターンが良いのでしょうか? 下記の様にやってみましたが、だめでした。。。 preg_match("/\d{1,2}[月]\d{1,2}[日]/",$hoge,$match) これではうまくいきません。 どなたかお助けくださいー!

    • ベストアンサー
    • PHP
    • nikuq
    • 回答数1
  • エクセルでPHPのBIN2HEXと同じ結果を出すには?

    以下のようなCSVデータがあったとします。 ビートたけし,男性,1947年生まれ タモリ,男性,1945年生まれ 所ジョージ,男性,1955年生まれ ・・・ 各行の最初のデータ(この場合なら名前)を、エクセルを使って 16進数表記に変換するためには、どのようなやり方が考えられますか? 期待する結果としては ビートたけし,男性,1947年生まれ,E38393E383BCE38388E3819FE38191E38197 タモリ,男性,1945年生まれ,E382BFE383A2E383AA 所ジョージ,男性,1955年生まれ,E68980E382B8E383A7E383BCE382B8 ・・・ こんな感じで、各行の最後にエンコードされたデータが くっついてくれるようなやり方が知りたいのです。 そもそもなぜこんなことを希望しているかというと、現在 はじめてPukiWikiを使って趣味のサイトを作ろうとしています。 手元に千行程度のCSVファイルがあり、1行1ページのデータに 切り分けて、PukiWikiのサイトデータにしようと思っています。 素人考えなのですがファイルの名前をPukiWikiのエンコード方式に 合わせてやれば、できあがった1000個前後のファイルを、 サーバーのwikiディレクトリにFTPしてやるだけでサイトデータが ほぼでき上がるのではないかと思っています。 上記の考え方があっているとして、ファイルのエンコードに PHPのbin2hexという関数が使われているというところまでは なんとか行きついたのですが、エクセルで同じようにエンコード する方法がないかというのが今回の質問の趣旨です。 多分、VBとかで何とかなるのでしょうが、残念ながら知識が なく、自分で作ろうにもままならない状態です。 文字列をUTF-8Nというコードにして扱わないといけないのかな。 よく分かってませんが、いろいろ試してみるとそんな感じでした。 むしのいい質問ですが、どなたかやり方がわかる方がおられましたら 教えていただけると嬉しく思っています。よろしくお願いしますm(_ _)m

    • horo54
    • 回答数2
  • PHP、MySQLのUpdateで数式の答えをそれぞれのセルに挿入

    こんにちは。PHPの初心者です。PHP内でのMySQL Updateの使い方で苦労しています。 table02に4つのフィールドがあります。このうちで使うのは「num」と「percent」です。結局、numにあるセルの数を一定数($total_num_rows)で割って100を掛けたいのですが。 $sql = "SELECT * FROM $table02"; $result = mysql_query($sql,$my_sql_connection) or die(mysql_error()); WHILE ($row = mysql_fetch_array($result)) { $num = $row["num"]; $percent = $num/$total_num_rows*100; $update_percent = "UPDATE $table02 SET percent = '$percent'"; $update_result = mysql_query($update_percent,$my_sql_connection); $percentをprintとすると、それぞれの行に適した数字が数式に従って表示されます。でも結局テーブル上では同じ数字が「percent」のフィールド下のセルに挿入されてしまいます。どうやったらそれぞれのセルにprintで表示されるような正しい数字を挿入することができるでしょうか? どうぞ宜しくお願いします。

    • 締切済み
    • PHP
  • PHPのカレンダーに曜日をつけられづに困っています。

    <?php // 日付 if (!isset($hiduke)) { $hiduke = date("Y-m-d"); } if (!isset($yyyy)) { $yyyy = date("Y", strtotime($hiduke)); } if (!isset($mm)) { $mm = date("m", strtotime($hiduke)); } if (!isset($dd)) { $dd = date("d", strtotime($hiduke)); } // 表示ページ if (isset($_GET["act"])) { $act = $_GET["act"]; } if (!isset($act)) { $act = ""; } // ================================================= //  処理開始 ?> <?php conndb();?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>予約システム</title> </head> <body> <h2>予約システム</h2> <?php // -- ページ内容の表示 switch ($act) { case "upd": // 更新 gamen_upd(); break; case "updconf": // 更新確認 gamen_updconf(); break; case "delconf": // 削除確認 gamen_delconf(); break; case "det": // 詳細表示 gamen_detail(); break; default: gamen_iti(); } ?> </body> </html> <?php closedb(); ?> <?php // ================================================= // ----- 一覧表示画面 function gamen_iti() { global $conn; global $hiduke; global $yyyy; //年 global $mm; //月 $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); if (isset($kbn)) { if ($kbn == "upd" or $kbn == "del") { update_yoyaku($kbn); } } $sql = "SELECT * FROM jikan ORDER BY timeid"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table border="1"> <tr> <td><?php setmonth(); ?></td> <td><input type="submit" name="sub" value="予約表示"></td> </tr> </table> <input type="hidden" name="act" value="iti"> <input type="hidden" name="kbn" value="go"> </form> <p><?php echo date("Y 年 m 月 ", mktime(0, 0, 0, $mm, 1, $yyyy)) ?>予約一覧 <table border="1"> <tr bgcolor="#ffd700"> <td>日付</td> <?php // 時間表示 while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $timeid = $row["timeid"]; $jikan = cnv_dispstr($row["jikan"]); ?> <td><?php echo $jikan ?></td> <?php } ?> </tr> <?php //カレンダー $lastd = date("d", mktime(0, 0, 0, $mm + 1, 0, $yyyy)); for ($i = 1; $i <= $lastd; $i++) { ?> <tr> <?php $ts = mktime(0, 0, 0, $mm, $i, $yyyy); $ymd = date("Y/m/d" ,$ts) ; $ymdstr = strftime("%Y年%m月%d日(%a)", $ts); ?> <td><?php echo $ymd ?></td> <?php   <?php } ?> </table> <?php } // ================================================= // ----- 年月選択リスト表示 function setmonth() { global $yyyy; global $mm; $array = cnv_formstr($_POST); extract($array, EXTR_SKIP); echo "<table><tr><td>"; // 年 echo "<select name=\"yyyy\">"; for ($i = 2008; $i <= 2025; $i++) { echo "<option"; if ($i == $yyyy) { echo " selected "; } echo ">$i"; } echo "</select>年"; // 月 echo "<select name=\"mm\">"; for ($i = 1; $i <= 12; $i++) { echo "<option"; if ($i == $mm) { echo " selected "; } echo ">$i"; } echo "</select>月"; echo "</td>"; echo "</tr></table>"; } ?> と参考書を見ながら、作っています。 PHPはまったくの初心者です。カレンダーの日付に曜日をつけられづに困っています。コードを含め詳しくをしえてもらえると助かります。よろしくお願いします。

    • 締切済み
    • PHP