<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>PHP専門のQ&amp;Aサイト SUKEGRA - 最近の質問と回答： 構文・記述方法について</title>
<link>https://sukegra.com/php/qa/%E6%A7%8B-%E6%96%87-%E3%83%BB-%E8%A8%98-%E8%BF%B0-%E6%96%B9-%E6%B3%95-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6</link>
<description>Powered by Question2Answer</description>
<item>
<title>回答: curl_initでGoogleのhttpsサイトにアクセスすると405 method not allowedが返ってくる</title>
<link>https://sukegra.com/php/22/curl_init%E3%81%A7google%E3%81%AEhttps%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%A8405-method-allowed%E3%81%8C%E8%BF%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B?show=23#a23</link>
<description>&lt;p&gt;サイトによってはセキュリティ対策でCURLOPT_NOBODYがあると異常なアクセスとして405エラーを返すことがあります。&lt;br&gt;
サイトの動作確認だけだとCURLOPT_NOBODYとしたくなりますが、削除してみてください。&lt;br&gt;
他にもセキュリティ対策でユーザーエージェントをバリデーションするサイトもあります。&lt;/p&gt;
&lt;p&gt;最近ではDOS攻撃対策でpingすら受け付けないサーバも多いので気をつけてください。&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/22/curl_init%E3%81%A7google%E3%81%AEhttps%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%A8405-method-allowed%E3%81%8C%E8%BF%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B?show=23#a23</guid>
<pubDate>Fri, 26 Jun 2015 17:18:24 +0000</pubDate>
</item>
<item>
<title>回答: filterXPathで値が取得できない場合にThe current node list is empty.というエラーが出る</title>
<link>https://sukegra.com/php/19/filterxpath%E3%81%A7%E5%80%A4%E3%81%8C%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%ABthe-current-node-empty-%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%82%8B?show=20#a20</link>
<description>&lt;p&gt;filterXPathでは存在の確認にcount()を使います。&lt;br&gt;
isset()も必要なく以下のようにすれば意図したとおりに動作するはずです。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if ( $crawler-&amp;gt;filterXPath('//meta[@name=&quot;description&quot;]')-&amp;gt;count() )
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/19/filterxpath%E3%81%A7%E5%80%A4%E3%81%8C%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%ABthe-current-node-empty-%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%82%8B?show=20#a20</guid>
<pubDate>Tue, 31 Mar 2015 13:39:38 +0000</pubDate>
</item>
<item>
<title>回答: warning: Invalid argument supplied for foreach()というエラー</title>
<link>https://sukegra.com/php/17/warning-invalid-argument-supplied-for-foreach-%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC?show=18#a18</link>
<description>&lt;p&gt;null時の条件分岐を追加するのがセオリーです。&lt;/p&gt;
&lt;p&gt;他にも以下のようにキャストするとエラー表示はなくなります。&lt;br&gt;
（もちろんnullなので何も出力されませんが。）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;foreach((array)$item as $value){ 
 // hoge
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;個人的には常に空の時の対応を考えたほうが良いと思います。&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/17/warning-invalid-argument-supplied-for-foreach-%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC?show=18#a18</guid>
<pubDate>Thu, 05 Mar 2015 10:31:30 +0000</pubDate>
</item>
<item>
<title>回答: Deprecated: Function ereg_replace() is deprecated in</title>
<link>https://sukegra.com/php/15/deprecated-function-ereg_replace-is-deprecated-in?show=16#a16</link>
<description>&lt;p&gt;ereg_replace(&quot;hoge&quot;, , );はPHPの5.3から使えなくなりました。&lt;/p&gt;
&lt;p&gt;代わりに以下のように書いてみてください。&lt;br&gt;
preg_replace(&quot;/hoge/&quot;, , );&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/15/deprecated-function-ereg_replace-is-deprecated-in?show=16#a16</guid>
<pubDate>Wed, 04 Mar 2015 08:15:26 +0000</pubDate>
</item>
<item>
<title>LaravelでCroppaというライブラリが動作しない</title>
<link>https://sukegra.com/php/14/laravel%E3%81%A7croppa%E3%81%A8%E3%81%84%E3%81%86%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84</link>
<description>&lt;p&gt;LaravelでCroppaというライブラリを使っています。&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/BKWLD/croppa&quot;&gt;https://github.com/BKWLD/croppa&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ローカルだと正しく動作するのですが、サーバで運用しようとすると画像が作成されません。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;img src=&quot;&amp;lt;?=Croppa::url($path, 120, 120)?&amp;gt;&quot; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Croppaの設定ファイルである「config.php」で「host」の項目も設定しており、「&lt;a rel=&quot;nofollow&quot; href=&quot;http://example.com/image.jpg-120x120」と画像のURLも生成されているんですが、404となります。&quot;&gt;http://example.com/image.jpg-120x120」と画像のURLも生成されているんですが、404となります。&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;webサーバはnginxを使っているんですがその辺が関係しているんでしょうか？&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/14/laravel%E3%81%A7croppa%E3%81%A8%E3%81%84%E3%81%86%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84</guid>
<pubDate>Fri, 30 Jan 2015 05:25:28 +0000</pubDate>
</item>
<item>
<title>回答: curl_initでステータスコード302が出る</title>
<link>https://sukegra.com/php/11/curl_init%E3%81%A7%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89302%E3%81%8C%E5%87%BA%E3%82%8B?show=12#a12</link>
<description>&lt;p&gt;CURLOPT_FOLLOWLOCATIONを使うとリダイレクト先まで調べてくれるようです。&lt;br&gt;
以下のように指定してみてください。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/11/curl_init%E3%81%A7%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89302%E3%81%8C%E5%87%BA%E3%82%8B?show=12#a12</guid>
<pubDate>Thu, 29 Jan 2015 08:32:31 +0000</pubDate>
</item>
<item>
<title>回答: Laravel4.2のコントローラーレイアウトとBladeテンプレート</title>
<link>https://sukegra.com/php/3/laravel4-2%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%81%A8blade%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88?show=10#a10</link>
<description>&lt;p&gt;コントローラーレイアウトとBladeテンプレートは別のもので、代替が利くものでははありません。&lt;/p&gt;
&lt;p&gt;ただBladeテンプレートでコントローラーレイアウトのようにビューを入れ子にすることもできますし、逆もできるので混同しやすいかもしれません。&lt;/p&gt;
&lt;p&gt;個人的にはサイト全体のテンプレートはコントローラーで予め指定して、ページによって異なる要素はBladeテンプレートを指定して変数を渡す。といった使い方がスタンダードだと思います。&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/3/laravel4-2%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%81%A8blade%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88?show=10#a10</guid>
<pubDate>Mon, 12 Jan 2015 23:25:36 +0000</pubDate>
</item>
<item>
<title>回答: オブジェクトのデータを取り出したい</title>
<link>https://sukegra.com/php/5/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E3%82%8A%E5%87%BA%E3%81%97%E3%81%9F%E3%81%84?show=9#a9</link>
<description>&lt;p&gt;オブジェクトの値を取得するにはアロー演算子を使ってください。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;foreach($results as $object) {
    echo $object-&amp;gt;MAXID;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;こんな感じで問題なく取得できるはずです。&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/5/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E3%82%8A%E5%87%BA%E3%81%97%E3%81%9F%E3%81%84?show=9#a9</guid>
<pubDate>Sat, 27 Dec 2014 05:10:01 +0000</pubDate>
</item>
<item>
<title>mkdir(): File existsというエラー</title>
<link>https://sukegra.com/php/6/mkdir-file-exists%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC</link>
<description>&lt;p&gt;ディレクトリを作成するときに以下のエラーが出るのですが、解決方法はありますか？&lt;/p&gt;
&lt;p&gt;mkdir(): File exists&lt;/p&gt;
</description>
<category>構文・記述方法について</category>
<guid isPermaLink="true">https://sukegra.com/php/6/mkdir-file-exists%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC</guid>
<pubDate>Tue, 25 Nov 2014 09:46:57 +0000</pubDate>
</item>
</channel>
</rss>