<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>西沢直木 &#8211; PHPプログラミングの教科書 [php1st.com]</title>
	<atom:link href="https://php1st.com/author/nsz70/feed" rel="self" type="application/rss+xml" />
	<link>https://php1st.com</link>
	<description>気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。</description>
	<lastBuildDate>Thu, 12 Sep 2019 14:59:03 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>PHPの関数や変数の前にあるアットマークの意味は？</title>
		<link>https://php1st.com/2665</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Thu, 12 Sep 2019 14:59:03 +0000</pubDate>
				<category><![CDATA[PHP全般]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2665</guid>

					<description><![CDATA[PHPスクリプトを見ていると関数の前に「@」（アットマーク）が付いているのをみたことがありませんか？ この「@」の用途はエラーを非表示にすることです。「エラー制御演算子」とよばれます。 【参考】PHP: エラー制御演算子 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPスクリプトを見ていると関数の前に「@」（アットマーク）が付いているのをみたことがありませんか？</p>
<pre class="brush: php; gutter: false; title: 関数の前にアットマーク; notranslate">
&lt;?php
@file_get_contents(&quot;input.txt&quot;);
</pre>
<p>この「@」の用途はエラーを非表示にすることです。「エラー制御演算子」とよばれます。</p>
<p>【参考】<a target="_blank" href="https://www.php.net/manual/ja/language.operators.errorcontrol.php" rel="noopener noreferrer">PHP: エラー制御演算子</a></p>
<p>ピンと来ない場合は@を取り除いて実行してみましょう。</p>
<pre class="brush: php; gutter: false; title: アットマークを削除して実行; notranslate">
&lt;?php
file_get_contents(&quot;input.txt&quot;);
</pre>
<p>「input.txt」が存在しない場合、次のようなエラーメッセージ（Warning）が表示されます。ファイルが存在しないので開けない、という警告です。</p>
<div class="list-title">実行結果</div>
<div class="res">
PHP Warning:  file_get_contents(input.txt): failed to open stream: No such file or directory in …略….php on line 2</p>
<p>Warning: file_get_contents(input.txt): failed to open stream: No such file or directory in …略….php on line 2
</p></div>
<p>もう一度@を付けて実行してみましょう。</p>
<pre class="brush: php; gutter: false; title: アットマークを付けて実行; notranslate">
&lt;?php
@file_get_contents(&quot;input.txt&quot;);
</pre>
<p>今度は「input.txt」が存在しなくてもエラーメッセージが表示されないはずです。これはエラーがなくなったのではなく、非表示にしただけです。その点、注意してください。</p>
<p>変数の前にある@も同じです。次のコードを実行すると、$aが存在しない場合はエラーメッセージが表示されます。</p>
<pre class="brush: php; gutter: false; title: 変数が存在しない場合はエラーになる; notranslate">
echo $a;
</pre>
<div class="list-title">実行結果</div>
<div class="res">
PHP Notice:  Undefined variable: …略….php on line 3<br />
Notice: Undefined variable: …略….php on line 3
</div>
<p>変数の前にアットマークを付けると上記のNoticeは表示されません。</p>
<pre class="brush: php; gutter: false; title: 変数の前にアットマークを付ける; notranslate">
echo @$a;
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPressでいつの間にか作成される「php.suspected」ファイルとは</title>
		<link>https://php1st.com/2579</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Fri, 04 Jan 2019 12:47:22 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2579</guid>

					<description><![CDATA[WordPressをインストールしたフォルダに「php.suspected」というファイルが作られることがあります。たとえば、「wp-config.php.suspected」です。 これは、本来「wp-config.p [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>WordPressをインストールしたフォルダに「php.suspected」というファイルが作られることがあります。たとえば、「wp-config.php.suspected」です。</p>
<p>これは、本来「wp-config.php」であったファイルが機能しないようにレンタルサーバーなどによって<span class="stro">強制的に拡張子が変更</span>された可能性が高いです。</p>
<p>WordPressの機能として作成されたわけではありません。</p>
<p>ファイルが機能しないように設定される主な理由は<span class="stro">サイトの改ざんやハッキングによる不正なプログラムの埋め込み</span>です。そのサイトを踏み台にした不正な活動が行われており、サーバーにかなりの負荷がかかっているためです。</p>
<p>そのままWordPressを機能させておくわけにはいかないので、wp-config.phpのような根幹のファイルを「wp-config.php.suspected」のような名前に変えて機能停止（WordPressが動作しないように）にしたということです。</p>
<p>対策としては「wp-config.php.suspected」を「wp-config.php」に戻せば良いと思うかもしれませんが、機能を停止された根本原因が解決していないので危険です。</p>
<p>レンタルサーバーからも警告メールなどが来ているでしょうし、何の予告もなく「php.suspected」ができていることに気づいたのであれば、レンタルサーバーに問い合わせてみた方がよいでしょう。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>「http:// wrapper is disabled in the server configuration by allow_url_include=0」と表示されるとき</title>
		<link>https://php1st.com/2571</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Sat, 10 Nov 2018 02:25:00 +0000</pubDate>
				<category><![CDATA[エラーメッセージ]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2571</guid>

					<description><![CDATA[PHPのWarning「http:// wrapper is disabled in the server configuration by allow_url_include=0」はファイルをインクルードできないときな [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPのWarning「http:// wrapper is disabled in the server configuration by allow_url_include=0」はファイルをインクルードできないときなどに表示されます。</p>
<p>特に、URLを指定したファイルインクルードが許可されていないレンタルサーバーなどで表示されます。</p>
<p>たとえば、次のようなコードです。</p>
<pre class="brush: php; gutter: false; title: Warningが表示されるかも; notranslate">
$template = get_template_directory_uri() . '/template.php';
</pre>
<p>get_template_directory_uri関数によって「http://…template.php」のようなURLが返されますが、URLベースのファイルインクルードが許可されていないとエラーになります。</p>
<p>その場合、get_template_directory_uri関数の代わりにget_template_directory関数を使って物理パスを取得することでWarningは解消されます。</p>
<p>php.iniでallow_url_includeの設定を変更した方が簡単そうですが、これが許可されているかどうかはレンタルサーバーによって異なります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHPでアラートを表示する</title>
		<link>https://php1st.com/2535</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Tue, 10 Jul 2018 02:24:53 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2535</guid>

					<description><![CDATA[PHPでアラートを表示する方法を紹介します。 jQuery（JavaScript）のアラートと同じことがPHPでもできないか、というイメージですが、JavaScriptのアラート（alert）はクライアント側で実行されて [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPでアラートを表示する方法を紹介します。</p>
<p>jQuery（JavaScript）のアラートと同じことがPHPでもできないか、というイメージですが、JavaScriptのアラート（alert）はクライアント側で実行されています。</p>
<p>PHPはサーバー側のプログラミング言語なので、JavaScriptのalertと同じような命令はありません。同じことをしたい場合は、PHPからJavaScriptを出力する方法があります。</p>
<pre class="brush: php; gutter: false; title: PHPでアラートを表示する; notranslate">
&lt;?php
echo &quot;&lt;script&gt;alert('テスト');&lt;/script&gt;&quot;;
?&gt;
</pre>
<p>これにより、アラートダイアログが表示されます。</p>
<div id="attachment_2536" style="width: 333px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-2536" src="https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31.jpg" alt="アラートダイアログが表示される" width="323" height="190" class="size-full wp-image-2536" srcset="https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31.jpg 323w, https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31-300x176.jpg 300w" sizes="(max-width: 323px) 100vw, 323px" /><p id="caption-attachment-2536" class="wp-caption-text">アラートダイアログが表示される</p></div>
<p>文字リテラルの中でHTMLを編集しづらければヒアドキュメントで出力しても良いかもしれません。</p>
<pre class="brush: php; gutter: false; title: ヒアドキュメントでアラートを表示する; notranslate">
&lt;?php
echo &lt;&lt;&lt;EOM
&lt;script&gt;alert('テスト');&lt;/script&gt;
EOM;
?&gt;
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHPでアップロードサイズを変更する</title>
		<link>https://php1st.com/2532</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Tue, 10 Jul 2018 01:19:51 +0000</pubDate>
				<category><![CDATA[PHPの設定]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2532</guid>

					<description><![CDATA[PHPでアップロードできるファイルのサイズを変更する方法を紹介します。 いくつかのレンタルサーバーではアップロードできるファイルサイズが2Mなどの小さい値に制限されている場合があるので、WordPressのようなCMSか [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPでアップロードできるファイルのサイズを変更する方法を紹介します。</p>
<p>いくつかのレンタルサーバーではアップロードできるファイルサイズが2Mなどの小さい値に制限されている場合があるので、WordPressのようなCMSから大きい画像をアップロードするとエラーになります。</p>
<p>アップロードサイズの制限を緩める方法も覚えておいた方がよいでしょう。</p>
<p>PHP設定ファイル（php.ini）に次のようなコードを書くとPHPからのアップロードサイズを変更することができます。</p>
<pre class="brush: php; gutter: false; title: アップロードサイズの変更（php.iniに記述）; notranslate">
upload_max_filesize = 20M
post_max_size = 20M
</pre>
<p>これにより、20Mまでアップロード可能になります。「20M」の部分は任意の値に変更してください。</p>
<p>upload_max_filesizeはアップロードされるファイルの最大サイズです。</p>
<p>post_max_sizeはPOSTされるデータの制限値です。一般的にupload_max_filesizeより大きく設定します。</p>
<p>その他、PHP設定ファイル（php.ini）の設定項目（ディレクティブ）について詳しくは以下のページも参考にしてください。</p>
<p>【参考】<a target="_blank" href="http://php.net/manual/ja/ini.core.php">PHP: コア php.ini ディレクティブに関する説明 &#8211; Manual</a></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
