hogehoge78 の回答履歴

全1046件中21~40件表示
  • functionsでどこまで括るのが正解なのか

    RSSを取得→格納→表示→定期的にキャッシュをphpで行っております。 index.phpにすべて記載したところfunctions.phpを利用したほうが良い、require_onceでpage.phpなどからindex.phpに読み込むようご指摘をいただいたので、コードを考えてみたのですがどの範囲までfunctionで括るのが正解なのかわかりません。 意見がわかれておりまして、役割によって分けるべきという方と、page.phpのみfunctions.phpを使いそのほかはrequire_onceで読み込めばいいという方と、すべてrequire_onceで読み込めばいいという方の3パターンありました。 どの方法が1番適切でしょうか?コードは以下になります。 <?php //別ファイルにして読み込む場合 function db($hlxclitx_wp1){//DB名を引数として受け取る $dbname //DB接続 try { $pdo = new PDO(“mysql:dbname=”$hlxclitx_wp1”_name;host=”localhost”;charset=utf8″,”hlxclitx_wp1”,”E.HrypHWxNmltXgC5eS26”)); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; }catch (PDOException $e) { echo $e->getMessage(); return $db = null; } } // カテゴリーIDをキーにしたカテゴリー配列を生成 function get_category_name_by_id($categories) { foreach (get_categories() as $category) { $categories[$category->cat_ID] = $category; } // 投稿の情報を追加 function set_other_data($post) { // アイキャッチIDを取得 $post_thumbnail_id = get_post_thumbnail_id($post); // アイキャッチ画像の確認 if ($post_thumbnail_id) { // 存在する $image_src = wp_get_attachment_image_src($post_thumbnail_id); // サムネイルの画像URLを設定 $post->thumbnail = $image_src[0]; } else { // 存在しない $post->thumbnail = 'noimage.jpg'; } // カテゴリーIDを取得 $post->categories = wp_get_post_categories($post->ID); // コメントテキスト if (0 == $post->comment_count) { // コメントなし $post->comments = __('No Comments'); } else { // コメントあり $post->comments = $post->comment_count.'件のコメント'; } // コメントリンク $post->comments_link = get_comments_link($post->ID); } //古いデータを削除 //※先に実行する //ものがないものはfunctons.phpに書いても使えないので、require_onceでまとめて読み込む認識 function delete_date_pdo($delete_date) { $sql = 'DELETE FROM rss_feed WHERE date < ?'; $stmt = $dbh->prepare($sql); $delete_date = date('Y-m-d H:i:s', strtotime('-1 week')); //※削除対象日付 $stmt->execute([$delete_date]); } //RSS保存 function save_url_rss($stmt){//本来は値がほしいところでfunction{}するのだろう長さの加減がわからず $url1 = [ 'http://nns2ch.net/index.rdf', 'http://aqua2ch.net/index.rdf', 'https://worldfn.net/index.rdf', ]; $stmt = $dbh->prepare('insert into rss_feed (title, link, date, img) values (?, ?, ?, ?) on duplicate key update title=?, link=?, date=?, img=?'); foreach ($url1 as $url) { if (($rss = @simplexml_load_file($url)) === false) { continue; } foreach ($rss->item as $item) { $dc = $item->children('dc', true); $date = date('Y-m-d H:i:s', strtotime($dc->date)); //※削除対象日付より古いRSSは保存しない if ($date < $delete_date) { continue; } $title = $item->title; $link = $item->link; $content = $item->children('content', true); $result = preg_match('/<img[^>]*src=\"([^"]+)\"[^>]*>/i', $content->encoded, $matches); if (1 == $result) { $img = $matches[1]; } else { $img = ''; } $stmt->execute([$title, $link, $date, $img, $title, $link, $date, $img]); } } } function one_page_count($post_items){ //表示設定 $current_page = $_REQUEST['page'] ?? 1; //現在ページ $block_per_page = 2; //ページあたりブロック件数 $rss_per_block = 18; //ブロックあたりRSS件数 $posts_per_block = 5; //ブロックあたり投稿件数 //RSS読み込み $rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数 $rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット $sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?'; $stmt = $dbh->prepare($sql); $stmt->bindParam(1, $rss_offset, PDO::PARAM_INT); $stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT); $stmt->execute(); $rss_items = $stmt->fetchAll(PDO::FETCH_OBJ); //投稿読み込み $posts_per_page = $block_per_page * $posts_per_block; //ページあたり投稿件数 $posts_offset = ($current_page - 1) * $posts_per_page; //投稿オフセット $args = [ 'posts_per_page' => $posts_per_page, 'offset' => $posts_offset, ]; $post_items = get_posts($args); } ?>

    • ベストアンサー
    • PHP
  • PHP IMAPでメール受信の期間が設定できますか

    PHPマニュアルを見て作成しています。 現在の状態ですが、 作成しているPHPへURL+POSTにてmessage_idと受信日時を送信して とりあえず100件を取得して最新から表示 どうにかこうにか、forで回して ・message_idもしくは受信日時のメールまできたらbreakしてループから抜けて未読のメールを表示できるスクリプトができました。 ★やりたいことですが、 過去の受信日時を範囲指定してメールを取得することはできるでしょうか?

    • ベストアンサー
    • PHP
    • sorter
    • 回答数1
  • メールフォームのファイル送信の必須項目について

    PHPプログラム配布サイトPHP工房 さんのPHP多機能メールフォーム 全機能搭載版(有料版)を利用しています。 これでファイル送信を必須項目にしたいです。 <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> 複数ありまして全部で4つ設置します。 --------------- 必須入力項目(入力フォームで指定したname属性の値を指定してください。 --------------- のところで'upfile'といれたのですが、これだ画像を添付しても「入力されていません」となり確認画面に移行しませんでした。 ファイル添付を必須項目にしたいのですがどうすればいいでしょうか。やり方お判りのかたいらっしゃいましたらご教授願います。 また、 確認画面でファイル1、ファイル2,ファイル3,ファイル4として添付した画像を表示させることが可能でしたら合わせて教えてほしいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
    • u2122
    • 回答数1
  • PHP

    OPENファイル(書き込み)をファンクション化したい。どうしたらいいでしょうか? <?php ///////////////////////////////////////////////////////////////////// //定数 ///////////////////////////////////////////////////////////////////// //クーロンのパス $path = '/etc/cron.d/auto_pbxrestart'; ///////////////////////////////////////////////////////////////////// //クーロンの設定の書き込み ///////////////////////////////////////////////////////////////////// if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 曜日を1,2,4,5とカンマをはさむ $selectday = $_POST['day']; foreach($selectday as $day){ $day2=$day2.$day. ","; } // 最後はカンマをはずす $day3 = rtrim($day2, ","); if ($day3 == ""){ $yday3="*"; } // クーロンファイルに書き込む $fpt = fopen($path, 'w'); if ($fpt == false) { print "このファイルには書き込みできません。<br>\n"; } //実際にクーロンに書き込みする(「* *」は月日なので今回は設定対象にならない) fwrite($fpt, $_POST['opt'] .$_POST['nminute']. " " .$_POST['nhour']. " * * " .$day3. " root /usr/local/sbin/auto_pbxrestart.pl"); fclose($fpt);

    • ベストアンサー
    • PHP
    • akio123
    • 回答数2
  • phpファイルについて これはphp形式?のファ

    phpファイルについて これはphp形式?のファイルなんですが、 1,php形式のファイルなのに,htmlを書き込めるんですか? 2,doctypeというのはhtml以外どういうのがあるんでしょうか?

    • ベストアンサー
    • PHP
  • phpファイルについて これはphp形式?のファ

    phpファイルについて これはphp形式?のファイルなんですが、 1,php形式のファイルなのに,htmlを書き込めるんですか? 2,doctypeというのはhtml以外どういうのがあるんでしょうか?

    • ベストアンサー
    • PHP
  • RSSをデータベースに格納できない

    昨日教えていただいたコードで格納して表示するところまで成功しました。 自分の不注意でデータベースネームと違う、新規作成したテーブルに格納していたため起こったエラーでした。申し訳ありません。 再度全体のコードと組み合わせてみたのですがエラーが起こり困っております。 Uncaught Error: Call to a member function insert() on null <?php $url1 = [ 'http://blog.livedoor.jp/dqnplus/index.rdf', 'http://alfalfalfa.com/index.rdf', 'http://himasoku.com/index.rdf', ]; foreach ($url1 as $url) { $count = 0; $rss = simplexml_load_file($url); foreach ($rss->item as $item) { if ($count >= 8) { break; } ++$count; $title = (string) $item->title; //「$item->title」だけではうまくいかないのでstringにキャスト $link = (string) $item->link; //以下同じ $thumb = (string) $item->thumb->url; $content = (string) $item->description; $wpdb->insert('rssfeed', ['title' => $title, 'link' => $link, 'thumb' => $thumb, 'content' => $content], ['%s', '%s', '%s', '%s']); } } $results = $wpdb->get_results('SELECT * FROM rssfeed'); foreach ($results as $item) { echo $item->title.'<br>'; } ?> <?php $wpdb->show_errors(); ?>

    • ベストアンサー
    • PHP
  • htmlにphpを埋め込むと書いてあるんですが、

    htmlにphpを埋め込むと書いてあるんですが、 これはエディターなどでhtmlのメモ帳?の中にphpのコードを書き込んでも 自動的にhtmlに変換されるということなんですか?

    • ベストアンサー
    • PHP
  • php からlaravelで作り直した場合

    a hrefの書き方がわかりません。 index.phpからa hrefでlast.phpに 先月遷移をさせるソースは下記で動きます。 それをindex.blade.phpからlast.blade.phpに遷移させる ことができません。 一応、web.phpとcontrollerを次のように準備しました。 controllerはDBと繋げているので登録してあるデータを取ってきて last.blade.phpに渡すようにしています。 (index.php)動きます <?php $ym = date("Ym"); $lastmonth = date("Ym",strtotime($ym."01"." -1 month ")); $nextmonth = date("Ym",strtotime($ym."01"." +1 month ")); $tm = date("n",strtotime($ym));//月 $ty = date("Y",strtotime($ym));//年 echo '<a href="last.blade.php?ym='.$lastmonth.'"><< 先月</a>'; echo'<head>'.$ty."年".$tm."月".'</head>'; $this_month_days = date("t",strtotime($ym."01"));//当月の日数を取得 ?> (last.php) 最初の部分だけ記載 $ym = (isset($_GET["ym"]))? $_GET["ym"] : date("Ym"); 以下からlaravelで作り直しを試みた記載 (index.blade.php)動かないindex.phpのa hrefの部分のみ下記の通り変更 syntax error, unexpected 'user' (T_STRING), expecting ';' or ','エラーが出る。 echo '<a href="{{route('user.local',['ym'=>'$lastmonth'])}}"><< 先月</a>'; (web.php)last部分だけ抜粋 userフォルダの下にlast.blade.php,index.blade.phpがある Route::get('/last', [KintaiController::class,'last']) ->middleware('auth:users') ->name('last'); (controller)KintaiControlerという名前でcontrollerを作ってある一部抜粋   public function last($lastmonth) { // $e_all = Melon::select('price_a','price_b','price_c','price_d')->paginate(3); $e_all = Kintai::all(); return view('user.last',compact('e_all')); } よろしくお願いします。

    • 締切済み
    • PHP
  • htmlにphpを埋め込むと書いてあるんですが、

    htmlにphpを埋め込むと書いてあるんですが、 これはエディターなどでhtmlのメモ帳?の中にphpのコードを書き込んでも 自動的にhtmlに変換されるということなんですか?

    • ベストアンサー
    • PHP
  • RSSの格納、表示がうまくいかない

    データベースへの接続は完了したんですが、RSSの格納がうまくいきません。 エラー文も表示されず原因がわからないのですが、おかしな文はありますでしょうか? <?php require_once(dirname(dirname(dirname(dirname( __FILE__ )))) . '/wp-load.php' ); //ファイルの先頭で読み込む try { $dsn = 'mysql:dbname=hlxclitx_wp1;host=localhost'; $user = 'hlxclitx_wp1'; $password = 'E.HrypHWxNmltXgC5eS26'; $dbh = new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//エラーが発生した時に、例外を投げる echo "データベースへの接続が出来ました"; }catch (PDOException $e) { echo $e->getMessage();// err時はメッセージを表示 exit; } $url1 = [ 'http://blog.livedoor.jp/dqnplus/index.rdf', 'http://alfalfalfa.com/index.rdf', 'http://himasoku.com/index.rdf',]; //itemを取り出して$rssに渡す $date = $rss->channel->date; // RSSアイテム取得 値の代入 自作関数 //SQL文を実行、結果を求める $stmt = $dbh->prepare('insert into hlxclitx_feed_rss (data) values (?)'); //$url1配列から先頭のデータをとりだして$urlに渡す なくなるまでループする foreach ($url1 as $url) { //rssがほしいから、もらった$urlを渡す if (($rss = @simplexml_load_file($url)) === false) continue; // RSSタイトルがほしいから、もらったrssを渡す $site_title = $rss->channel->title; //初期のカウント $count = 0; //itemを取り出して$rssに渡す ループ foreach ($rss->item as $item) { //8件を超えたとき取得を終了する if (++$count > 8) break; //タイトル、リンクを取得 $title = $item->title; $link = $item->link; //RSSの情報を取得 $dc = $item->children('http://purl.org/dc/elements/1.1/'); //RSS日付け取得 $date = date('Y-m-d H:i:s', strtotime($dc->date)); // $title, $link, $date を表示 $stmt->execute[json_encode($item)]; } } ?> 補足情報(FW/ツールのバージョンなど) db name hlxclitx_wp1 table name hlxclitx_feed_rss テーブル名 (data) 名前 item

    • ベストアンサー
    • PHP
  • ifとtry

    phpやpythonで質問です。 作ったプログラムをサーバーにあげてユーザーが使えるようにしています。 例えば、phpなどではロジックに意図しない値が入力されたらバリデーションなどではじくことができますよね?(pythonも 「意図しない動作や入力」の時ってif文だけではなくtry文を使うときがあるのですが(データペース接続など) 使い分けの方法がわかりません。使い分ける方法、または場面を教えてください。

    • ベストアンサー
    • PHP
    • dhtfyjh
    • 回答数2
  • Wordpressの質問です

    皆さん、お世話になります。 Wordpressで不明な点があり、 どうしてもご教示いただきたく、こちらで質問させていただきます。 現在「Wordpress」で自分のホームページを作っており、 新しいページを「php」で追加しようと考えております。 そこで、「外観」➡「テーマエディター」の「テーマファイル」にある「function.php」のコード入力欄に、 touch( get_stylesheet_directory() . '/新規追加ファイル名.php' ); こちらのコードを入力し、 「ファイルを更新」ボタンを押し、 ページをリロード(F5ボタン)したのですが、 追加されませんでした。 (ちなみに上記のコードですと、「新規追加ファイル名」というphpファイルが追加されるハズなのですが) こちらは、何が原因だと思われますか? 色々調べたのですが、どうしても解決できません。 何か教えていただけると、とても助かります。 どうぞ宜しくお願いいたします。

    • 締切済み
    • PHP
  • PHPで期間指定の実装

    PHPで期間指定の検索機能を実装しています。var_dump($year)で値は取り出せていますが、SQL文の部分が分かりません。SQL文の部分をどのように修正すればいいですか? テーブルの構造は以下の通りです。 (timecardテーブル :id、 begin、 finish 、date ) (userテーブル :user_id、user_name、password) if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['year'])) { $year = filter_input(INPUT_POST, 'year'); try { // 該当する日付をSELECT文で検索する $sql = 'SELECT * FROM timecard WHERE date = ?'; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $year, PDO::PARAM_STR); $stmt->execute(); //全て取得するのでfetchALLでレコードを取得する $result = $stmt->fetchALL(); // phpmyadminには、2021-10-03の形式で保存されているので、2021の部分だけを抽出して$yearと比較する。 if(count($result) > 0 && $year === substr($result['date'], 0, 4)) { $msg[] = ('指定の出退勤の記録は以下の通りです。'); }else { $err_msg[] = ('指定の出退勤の記録はありません。'); } } catch (PDOException $e) { $err_msg[] = '出退勤の記録を取得できませんでした。'; } } } <div class="search"> <form method="post"> <?php for ($i=2000; $i <= 2021; $i++) { $year .= '<option value="'.$i.'">'.$i.'年</option>'; } ?> <input type="hidden" name="year" value="<?php $year;?>"> <select name="year">'.<?php echo $year;?> .'</select> <input type="submit" value="検索する"> </form> </div>

    • 締切済み
    • PHP
    • OBAKEI
    • 回答数4
  • PHPで期間指定の実装

    PHPで期間指定の検索機能を実装しています。var_dump($year)で値は取り出せていますが、SQL文の部分が分かりません。SQL文の部分をどのように修正すればいいですか? テーブルの構造は以下の通りです。 (timecardテーブル :id、 begin、 finish 、date ) (userテーブル :user_id、user_name、password) if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['year'])) { $year = filter_input(INPUT_POST, 'year'); try { // 該当する日付をSELECT文で検索する $sql = 'SELECT * FROM timecard WHERE date = ?'; $stmt = $dbh->prepare($sql); $stmt->bindValue(1, $year, PDO::PARAM_STR); $stmt->execute(); //全て取得するのでfetchALLでレコードを取得する $result = $stmt->fetchALL(); // phpmyadminには、2021-10-03の形式で保存されているので、2021の部分だけを抽出して$yearと比較する。 if(count($result) > 0 && $year === substr($result['date'], 0, 4)) { $msg[] = ('指定の出退勤の記録は以下の通りです。'); }else { $err_msg[] = ('指定の出退勤の記録はありません。'); } } catch (PDOException $e) { $err_msg[] = '出退勤の記録を取得できませんでした。'; } } } <div class="search"> <form method="post"> <?php for ($i=2000; $i <= 2021; $i++) { $year .= '<option value="'.$i.'">'.$i.'年</option>'; } ?> <input type="hidden" name="year" value="<?php $year;?>"> <select name="year">'.<?php echo $year;?> .'</select> <input type="submit" value="検索する"> </form> </div>

    • 締切済み
    • PHP
    • OBAKEI
    • 回答数4
  • PHPで日付の範囲検索

    PHPを使って日付の範囲検索を実装しています。日付をセレクトフォームで選択し、該当する日時をSELECT文で記述するという流れです。イメージは以下のような感じですが、大体合っていますか? <? php if (!empty(filter_input(INPUT_POST, 'day'))) { $day = filter_input(INPUT_POST, 'day'); ・・・・ SELECT 文   ・・・・ ?> <html> <div class="search"> <form method="post"> <select name="year"> <?php for ($i=2000; $i <= 2021; $i++) { $year .= '<option value="'.$i.'">'.$i.'年</option>'; } ?> </select> <select name="month"> <?php for ($i=1; $i <= 12; $i++) { $month .= '<option value="'.$i.'">'.$i.'月</option>'; } ?> </select> <select name="day"> <?php for ($i=1; $i <= 31; $i++) { $day .= '<option value="'.$i.'">'.$i.'日</option>'; } ?> </select> <input type="hidden" name="search" value="<?php echo $_POST['year'].'-'. $_POST['month'].'-'. $_POST['date']; ?>"> <input type="submit" value="検索"> </form> </div> </html>

    • ベストアンサー
    • PHP
    • OBAKEI
    • 回答数3
  • phpでこの画像の意味を教えて下さい $na

    phpでこの画像の意味を教えて下さい $name="にんじゃ"; と $name="わんこ"; 変数が同じなのに右辺は違うものにできるんですか?それともドットがあるから $name.という違う変数だということなんでしょうか?

    • ベストアンサー
    • PHP
  • alt-phpとea-phpどちらを選べば良い

    レンタルサーバーを使っていて、管理画面がcPanel。 PHPバージョン変更を行おうと思ったらプルダウンに表示されるバージョンがこんな感じになっています。 alt-php70 alt-php71 ea-php70 ea-php71 altとeaの違いは何ですか? それと、通常はどちらを選ぶと良いですか? お願い致します。

    • ベストアンサー
    • PHP
  • 時刻修正フォームとバリデーション処理

    時刻を修正するフォームを作成しています。<input type="text" name="hour">のようにして、以下の条件を満たすバリデーション処理を追加することはできますか?(時間:06~24時の間、分と秒:00~59の間 半角数字のみ許可)

    • ベストアンサー
    • PHP
    • OBAKEI
    • 回答数1
  • ローカル開発環境について

    初心者向けのローカル開発環境としてMAMP(XAMPP)が代表格だと思いますが、MAMP(XAMPP)とDockerだとどちらの方がオススメですか?

    • ベストアンサー
    • PHP
    • OBAKEI
    • 回答数2