PHP

全18810件中161~180件表示
  • RSSと投稿記事を交互に表示させたい

    内容の修正が必要ですが原因がわかりません 1.投稿に画像やカテゴリーなどが表示されず、タイトルと日付けのみ表示されている 2.RSS画像にURLがついておらず画像のみ表示されている 3.RSSの画像がない場合ダミー画像を表示させたいが書き方が調べてもわからない <?php $dbh = connect_db(); $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); } delete_old_rss($dbh);//接続オブジェクトを渡す //RSS保存 $dbh = connect_db();//① $stmt = $dbh->prepare('insert into rss_feed (title, link, date, img) values (?, ?, ?, ?) on duplicate key update title=?, link=?, date=?, img=?');//② $url1 = get_rss_site_url(); 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)); 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]); } } if (ctype_digit($_REQUEST['page'])) { $current_page = (int) $_REQUEST['page']; } else { $current_page = 1; } if ($current_page > $wp_query->max_num_pages) { $current_page = $wp_query->max_num_pages; } $block_per_page = 2; $rss_per_block = 18; $posts_per_block = $wp_query->post_count / $block_per_page; //RSS読み込み $rss_per_page = $block_per_page * $rss_per_block; $rss_offset = ($current_page - 1) * $rss_per_page; $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); //表示 for ($i = 0; $i < $block_per_page; ++$i) { echo '<h2>ブロック</h2>'; echo '<h3>RSS</h3>'; for ($j = 0; $j < $rss_per_block; ++$j) { $item_index = $i * $rss_per_block + $j; if ($item_index >= count($rss_items)) { break; } $item = $rss_items[$item_index]; echo '<ul>'; echo "<li class=\"sitelink\"><a href=\"{$item->link}\">{$item->title}</a></li>"; echo "<li class=\"sitelink\"><a href=\"{$item->link}\">site</a></li>"; echo "<li class=\"sitedate\">{$item->date}</li>"; if (!empty($item->img)) { echo "<li><img src=\"{$item->img}\" width=\"100\"></li>"; } echo '</ul>'; } echo '<h3>投稿</h3>'; for ($j = 0; $j < $posts_per_block; ++$j) { $item_index = $i * $posts_per_block + $j; if ($item_index >= count($post_items)) { break; } $item = $post_items[$item_index]; echo '<ul>';   echo "<li><a href=\"{$item->guid}\">{$item->post_title}</a></li>"; echo "<li>{$item->post_date}</li>"; echo '</ul>'; } }

    • ベストアンサー
    • php_learn
    • PHP
    • 回答数51
  • あるカテゴリーの固定ページ一覧/WordPress

    <?php wp_list_pages('title_li='); ?>で固定ページ一覧が表示されますが あるカテゴリーの固定ページに限定して一覧表示できないでしょうか。 固定ページにカテゴリーを設定は、functions.phpに add_action('init','add_categories_for_pages'); function add_categories_for_pages(){ register_taxonomy_for_object_type('category', 'page'); } add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' ); function nobita_merge_page_categories_at_category_archive( $query ) { if ( $query->is_category== true && $query->is_main_query() ) { $query->set('post_type', array( 'post', 'page', 'nav_menu_item')); } } と記述して、解決しています。

    • ベストアンサー
    • pino1961
    • PHP
    • 回答数1
  • phpはサーバー言語だからサーバー側で処理をすると

    phpはサーバー言語だからサーバー側で処理をすると言いますが htmlもどっちみちサーバーにアップロードしてサーバー側で処理をしていますよね? 何が違うんでしょうか?

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数3
  • 正規表現

    分かりづらい質問で申し訳ありませんが、PHPの正規表現で教えて下さい。 現在下記のような文字列があります。 見やすく改行しましたが、本来は改行はなく、1行です。 最初にPタグがあり、次に複数のクラスが付いたdiv(これを①とします)、同じく複数のクラスが付いたdivタグ(これを②とします)があるような構造です。 このdivタグの中にはfigureタグ、その中にimg タグがあります。 ②番目のdivの中のimgのsrcには特定の文字列があります。 この特定の文字列を含む親のdivタグ全体を抜き出す正規表現を書きたいと思っています。 つまり、正規表現の結果下記部分が抽出できればと思います(これを「正解」とします)。 <div class="(省略)"> <figure> <img src="{特定の文字列}"> </figure> </div> 現在このように記述しましたが、①、②全てのdivが取得されてしまっている状態です。 「/<div class="se-component se-image-container __se__float-none" contenteditable="false">(?>).*<\/div>/i」 これを「正解」のように抽出するにはどのような正規表現になるのでししょうか? よろしく御願い致します。 <p>ghoge</p> <div class="se-component se-image-container __se__float-none" contenteditable="false"> <figure style="margin: 0px;"><img src="data:image/jpeg;base64,/9j/4AA" alt="" data-rotate=""> </figure> </div> <div class="se-component se-image-container __se__float-none" contenteditable="false"> <figure style="margin: 0px;"><img src="{特定の文字列}" alt="" data-rotate=""> </figure> </div>

    • ベストアンサー
    • t_hirai
    • PHP
    • 回答数2
  • phpで これは、head要素の中に、meta要

    phpで これは、head要素の中に、meta要素、title要素、link要素が入っているということなんですか? ↓ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Progate</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body>

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数5
  • phpでこのイコールは代入演算子ですか? <l

    phpでこのイコールは代入演算子ですか? <link rel="stylesheet" type="text/css" href="stylesheet.css"> ↑このイコールです link relにstylesheetを代入するという意味ですか? ↓他にもたくさんありますが、このイコールは代入演算子なんですか? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Progate</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body>

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数11
  • 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_learn
    • PHP
    • 回答数10
  • PHP

    <?php $tmpfname = tempnam("/var/tmp", "auto_pbxrestart"); $cmd = "/usr/bin/sudo chown 777 ".TEMP_PATH; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo chown apache::apache ".TEMP_PATH: exec($cmd, $output, $return); $handle = fopen($tmpfname, "w") if ($handle == false) { $status = '01'; print "debug02err"; } /* 実際にクーロンに書き込みする(「* *」は月日なので今回は設定対象にならない)* $cron_config = $arr['opt'] . $arr['nminute'] . " " . $arr['nhour'] . " * * " .$arr['days'] . " root /usr/local/sbin/auto_pbxrestart.pl"; fwrite($fpt , $cron_config); fclose($fpt); /* テンポラリのクーロンの設定をして本番のクーロンに設定をする */ print "debug04=".$cmd.":".$return."<br>"; $cmd = "/usr/bin/sudo cp -f " . CRON_DAILY_ESTAB . " " . CRON_DAILY_ESTAB . ".bak"; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo cp -f " . TEMP_PATH . " " . CRON_DAILY_ESTAB; exec($cmd, $output, $return); unlink($tmpfname); print "debug05 = ".$cmd.":".$return."<br>"; /* 正常終了 */ ?>

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

    PHPで移動させるのが失敗してます。どうしてですか? /* テンポラリのクーロンの設定をして本番のクーロンに設定をする $cmd = "/usr/bin/sudo chown root:root ".TEMP_PATH; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo cp -f ".CRON_DAILY_ESTAB." ".CRON_DAILY_ESTAB.".bak"; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo mv -f ".TEMP_PATH." ".CRON_DAILY_ESTAB; exec($cmd, $output, $return);

    • ベストアンサー
    • akio123
    • PHP
    • 回答数3
  • PHP

    PHPでFunctionで配列の渡し方が間違っています。$arr['opt']などの書き方をどうやって変えればいいですか? $arr = array( 'opt' => $_POST['opt'], 'nminute' => $_POST['nminute'], 'nhour' => $_POST['nhour'], 'days' => $days ); function OpenWrite($arr){ /* クーロンのパス */ $path = '/etc/cron.d/auto_pbxrestart'; try{ /* クーロンファイルに書き込む */ $fpt = fopen($path , 'w'); if ($fpt == false) { $message = "このファイルには書き込みできません。<br>\n"; } /* 実際にクーロンに書き込みする(「* *」は月日なので今回は設定対象にならない)*/ $cron_config = $arr['opt'] . $arr['nminute'] . " " . $arr['nhour'] . " * * " .$arr['days'] . " root /usr/local/sbin/auto_pbxrestart.pl"; fwrite($fpt , $cron_config); fclose($fpt); return $message; }catch (Exception $e){ echo "例外処理が発生しました"; } }

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

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

    • ベストアンサー
    • sorter
    • PHP
    • 回答数1
  • phpをやる時に最初に環境構築をします その時にな

    phpをやる時に最初に環境構築をします その時になぜ環境変数の設定をするのでしょうか? 環境変数の設定をしないとなぜVSコード等でPHPが使えないのでしょうか? PHPというソフトウェアみたいな物を公式サイトからダウンロードインストールしているだけではなぜPHPが使えないのでしょうか?

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数2
  • phpプログラミングの環境構築をするときに、環境変

    phpプログラミングの環境構築をするときに、環境変数というのを新規に設定したんですが、これはどの言語を使うときにも設定するものなんですか? 例えば パイソン、Java,Javascript,CSS,Perl、Rubyonrails,Go言語、等 また、この動画のようにVSコードを使う時に設定したんですが、他のエディターを使うときにもこの環境変数の作成は必要なんでしょうか? また環境変数を設定すると何がかわるのでしょうか?Phpのソフトを使えるようにするために環境変数の設定が必要なんですか? https://www.youtube.com/watch?v=mZyyWm06ZgY&t=3s

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数2
  • laravel editで編集

    勤務表をlaravelで作っています。 日付、曜日、勤務時間、残業時間を横並びで日毎のデータを編集・更新する試用にしています。 日毎を特定する要素として社員番号、データのid、日付から どの日の誰のデータかを特定するようにしたいと思っています。 public function edit($id) return view(○○.△,compact(''));のようなContorollerをよくみますが $idの引数の所に複数の引数、例えば社員番号、データのid、日付とか 渡せますか?または、compactの中に複数のデータを入れて返すとかできますか? その他のやり方としてデータベース側で勤務時間テーブル、社員テーブルとかテーブルを分けておいてpublic function edit()の中でselect文とかでjoinさせて条件が合致するデータを返すという作りのような形が一般的でしょうか? 初心者考えですみませんがよろしくお願いします。また参考出来るurlなどありましたらご教授下さい。

    • ベストアンサー
    • iyumoyumo
    • PHP
    • 回答数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として添付した画像を表示させることが可能でしたら合わせて教えてほしいです。 よろしくお願いいたします。

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

    PHPで <?php for($i = 0; $i <= 23; $i++){ // $nhour が $i と等しいなら selected を宣言 等しくなければ空文字 $isSelected = $nhour == $i ? 'selected' : ''; echo "<option value=\"$i\" $isSelected>$i</option>" . "\n"; } ?> を含むにしたい <?php for($i = 0; $i <= 23; $i++){ // $nhour が $i と等しいなら selected を宣言 等しくなければ空文字 $isSelected = strstr($nhour,$i) ? 'selected' : ''; echo "<option value=\"$i\" $isSelected>$i</option>" . "\n"; } ?> こうするとエラーになる。どうしたらいいですか?

    • ベストアンサー
    • akio123
    • PHP
    • 回答数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);

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

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

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数5
  • echoは命令なんですか? phpのechoの説

    echoは命令なんですか? phpのechoの説明に 「echo」は文字列などを出力するための命令です と書いてあるんですが、echoはリファレンスには関数ではなく言語構造とかいてあります echoは言語構造であり命令なんですか? 関数も命令ですか?

    • ベストアンサー
    • okwaveokw
    • PHP
    • 回答数2
  • Quiz Randomizer in PHP

    このサイトのプログラムで間違えた問題を解いた後、結果画面を表示させるにはどうすればいいですか? 参考サイト https://jakerpomperada.com/quiz-randomizer-in-php-and-mysql/ よろしくお願いします。