PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
【PHP】下らねぇ質問はここに 9
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 538a-od5V)
2017/12/20(水) 18:00:20.28ID:1xaO/YRR02デフォルトの名無しさん (ワッチョイ 0b5d-hL1C)
2018/01/06(土) 23:13:46.81ID:RuMnMvof0 関連リンク
■PHPマニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG https://wiki.php.net/phpng
■メーリングリスト http://ml.php.gr.jp/mailman/listinfo/
(以下英語)
■公式リポジトリ http://git.php.net/
■PHP-RFC https://wiki.php.net/rfc
■PECL http://pecl.php.net/
■Composer https://getcomposer.org/
■Packagist https://packagist.org/
■Zend Tech. Ltd. http://www.zend.com/
フレームワーク(一部)
■Zend Framework https://framework.zend.com/
■Symfony https://symfony.com/
■Laravel https://laravel.com/
■CodeIgniter https://codeigniter.com/
■Yii http://www.yiiframework.com/
■FuelPHP https://fuelphp.com/
■CakePHP https://cakephp.org/
テンプレートエンジン(一部)
■Twig https://twig.symfony.com/
■Blade https://laravel.com/docs/5.1/blade
■PHPマニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG https://wiki.php.net/phpng
■メーリングリスト http://ml.php.gr.jp/mailman/listinfo/
(以下英語)
■公式リポジトリ http://git.php.net/
■PHP-RFC https://wiki.php.net/rfc
■PECL http://pecl.php.net/
■Composer https://getcomposer.org/
■Packagist https://packagist.org/
■Zend Tech. Ltd. http://www.zend.com/
フレームワーク(一部)
■Zend Framework https://framework.zend.com/
■Symfony https://symfony.com/
■Laravel https://laravel.com/
■CodeIgniter https://codeigniter.com/
■Yii http://www.yiiframework.com/
■FuelPHP https://fuelphp.com/
■CakePHP https://cakephp.org/
テンプレートエンジン(一部)
■Twig https://twig.symfony.com/
■Blade https://laravel.com/docs/5.1/blade
3デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/08(月) 07:26:43.16ID:4m/0uKGZa evernoteのENEXファイルをパースする処理を書いていますが
$str = '<?xml version="1.0" encoding="UTF-8"?>
<en-note><div>てすと</div><div>てすと</div></en-note>';
$xml = simplexml_load_string($str);
var_dump($xml);
とすると
object(SimpleXMLElement)#1 (1) {
["div"]=>
array(2) {
[0]=>
string(9) "てすと"
[1]=>
string(9) "てすと"
}
}
となり、en-note要素がどこかにいってしまいます
en-noteを取り出してasXML()したいのですが、
何故かsimplexmlオブジェクトの中にありません
en-noteという名前が悪いのかと思ってdivとかhとかにしてみましたが
それでも一番外側の要素はsimplexmlオブジェクトに入っていません
何故こうなるのでしょうか?
$str = '<?xml version="1.0" encoding="UTF-8"?>
<en-note><div>てすと</div><div>てすと</div></en-note>';
$xml = simplexml_load_string($str);
var_dump($xml);
とすると
object(SimpleXMLElement)#1 (1) {
["div"]=>
array(2) {
[0]=>
string(9) "てすと"
[1]=>
string(9) "てすと"
}
}
となり、en-note要素がどこかにいってしまいます
en-noteを取り出してasXML()したいのですが、
何故かsimplexmlオブジェクトの中にありません
en-noteという名前が悪いのかと思ってdivとかhとかにしてみましたが
それでも一番外側の要素はsimplexmlオブジェクトに入っていません
何故こうなるのでしょうか?
4デフォルトの名無しさん (アウアウウー Sa8f-BQEm)
2018/01/08(月) 13:03:30.26ID:4m/0uKGZa5デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/08(月) 21:13:59.71ID:rpNlU31Ua shell_execなどは、mod_phpから実行した時には
何か制限を受けるのでしょうか?
echo shell_exec('"C:/Program Files (x86)/Evernote/Evernote/ENScript.exe" exportNotes /q "ほにゃらら"');
これでevernoteのノートを出力出来るはずなのですが
mod_phpから呼び出した時には何も表示されません
コマンドラインから呼び出すと普通に表示されます
echo shell_exec('cd')
のように単純なコマンドで試すと、mod_phpでも問題なく実行されています
メモリ制限の問題かと思ってmemory_limitを-1にしても何も変わりません
何か制限を受けるのでしょうか?
echo shell_exec('"C:/Program Files (x86)/Evernote/Evernote/ENScript.exe" exportNotes /q "ほにゃらら"');
これでevernoteのノートを出力出来るはずなのですが
mod_phpから呼び出した時には何も表示されません
コマンドラインから呼び出すと普通に表示されます
echo shell_exec('cd')
のように単純なコマンドで試すと、mod_phpでも問題なく実行されています
メモリ制限の問題かと思ってmemory_limitを-1にしても何も変わりません
6デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/09(火) 09:34:45.35ID:SyBlvM9La >>5についてですが
外部実行ファイルはドキュメントルート下に置かないと実行できないみたいな情報があったので
ENScript.exeを呼び出すバッチファイルをドキュメントルートに置いて実行してみましたが駄目でした
mod_phpからwhoamiを実行すると
nt authority\systemという権限で動いていることが分かりました
この権限が制限を実現しているのでしょうか?
外部実行ファイルはドキュメントルート下に置かないと実行できないみたいな情報があったので
ENScript.exeを呼び出すバッチファイルをドキュメントルートに置いて実行してみましたが駄目でした
mod_phpからwhoamiを実行すると
nt authority\systemという権限で動いていることが分かりました
この権限が制限を実現しているのでしょうか?
7デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/09(火) 09:41:14.36ID:SyBlvM9La また、セーフモードではありません
外部プログラムの制限についてドキュメントに書いていないのが解せません…
Windows版だけの現象なのでしょうか
外部プログラムの制限についてドキュメントに書いていないのが解せません…
Windows版だけの現象なのでしょうか
8デフォルトの名無しさん (ワッチョイ 0b5d-hL1C)
2018/01/09(火) 10:04:52.25ID:lcs1dgGe0 Evernoteとか使ったことないから知らんけど, その実行者の権限で見える, 見えてよい或いは見えるべきものを扱ってんの?
9デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/09(火) 10:13:18.61ID:SyBlvM9La Evernoteは非常に個人的なものなので、
確かにウェブサーバからデータが見えたらどうなのかっていうのはありますね
自分用アプリを作るためにApacheとブラウザを使っていましたが
本来ウェブサーバはネットに公開するためのものなので
権限が低くされるのも当然といえば当然。
そう考えるとウェブサーバを使ったアプリ構築を脱却して
Electronとかを使って作った方がいいですね
ありがとうございました
確かにウェブサーバからデータが見えたらどうなのかっていうのはありますね
自分用アプリを作るためにApacheとブラウザを使っていましたが
本来ウェブサーバはネットに公開するためのものなので
権限が低くされるのも当然といえば当然。
そう考えるとウェブサーバを使ったアプリ構築を脱却して
Electronとかを使って作った方がいいですね
ありがとうございました
10デフォルトの名無しさん (ワッチョイ 1fae-nOrU)
2018/01/10(水) 13:35:01.59ID:70pYzGse0 include先での$_POSTの参照について質問です。
index.html(httpd.confいじってhtmlファイルでもphp使えるようにしてる)からfile1.phpをincludeし、file1.phpの中でfile2.phpをincludeしています。(処理の関係上そうしたい)
index.htmlにPOSTがあった場合に、file1.phpでは$_POSTを参照出来るのですが、file2.phpからは何故か出来ません。
index.htmlで直接file2.phpをincludeするとPOSTの参照は出来ます。
そこら辺のルールに詳しい方いましたら解説していただけないでしょうか。よろしくお願いします。
index.html(httpd.confいじってhtmlファイルでもphp使えるようにしてる)からfile1.phpをincludeし、file1.phpの中でfile2.phpをincludeしています。(処理の関係上そうしたい)
index.htmlにPOSTがあった場合に、file1.phpでは$_POSTを参照出来るのですが、file2.phpからは何故か出来ません。
index.htmlで直接file2.phpをincludeするとPOSTの参照は出来ます。
そこら辺のルールに詳しい方いましたら解説していただけないでしょうか。よろしくお願いします。
11デフォルトの名無しさん (ワッチョイ 6661-QpsD)
2018/01/13(土) 10:49:54.90ID:By98rTnD0 $_POSTに上書きしちゃってる可能性
12デフォルトの名無しさん (ワッチョイ 85c3-3Ttg)
2018/01/20(土) 00:15:59.55ID:MzOH7w6y0 ドがつく素人です。
しょーもない質問ですいません。
【困りごと】
ドキュメントルートにphpinfo関数を実行するファイルを作成したが、
ブラウザ上でうまく表示されない。(スクリプトの記述のまま表示されてしまう)
【状況】
ApacheとPHPをインストールしたんですが、
以下URLのようにphpinfoコマンドで記述したphpを、
ドキュメントルートに入れて、http://localhost/phpinfo.phpで
実行したのですが、
<?php
phpinfo();
?>
と、スクリプトの記述そのまま表示されてしまいます。
何か設定ミスだとは思うのですが、なかなか原因が分からず・・・・
【URL】
https://i-bitzedge.com/php/how-to-use-phpinfo
しょーもない質問ですいません。
【困りごと】
ドキュメントルートにphpinfo関数を実行するファイルを作成したが、
ブラウザ上でうまく表示されない。(スクリプトの記述のまま表示されてしまう)
【状況】
ApacheとPHPをインストールしたんですが、
以下URLのようにphpinfoコマンドで記述したphpを、
ドキュメントルートに入れて、http://localhost/phpinfo.phpで
実行したのですが、
<?php
phpinfo();
?>
と、スクリプトの記述そのまま表示されてしまいます。
何か設定ミスだとは思うのですが、なかなか原因が分からず・・・・
【URL】
https://i-bitzedge.com/php/how-to-use-phpinfo
13デフォルトの名無しさん (ワッチョイ 755d-GP+B)
2018/01/20(土) 01:00:58.30ID:6KDbA8qD0 XAMPPじゃなくてApacheとPHPを個別に手でインストールしたのか?
手でインストールするならApache側の設定を修正してPHP用モジュールをロードする必要があるぞ
何か今になってもXAMPPやらApacheやらの導入を最初にやらせるサイト結構あるけど, きちんとしたWebサーバが本当に必要になるまではPHPのビルトインサーバが楽でいいよ
http://php.net/manual/ja/features.commandline.webserver.php
手でインストールするならApache側の設定を修正してPHP用モジュールをロードする必要があるぞ
何か今になってもXAMPPやらApacheやらの導入を最初にやらせるサイト結構あるけど, きちんとしたWebサーバが本当に必要になるまではPHPのビルトインサーバが楽でいいよ
http://php.net/manual/ja/features.commandline.webserver.php
14デフォルトの名無しさん (ワッチョイ 0b80-H9dj)
2018/01/20(土) 01:12:47.90ID:6q5j1Hcg015デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/20(土) 01:32:09.29ID:bSTKludV0 >>12
ちな俺はXAMPP/Windowsで使っているけど、最初からPHPは使えた。
(もちろん13の言うとおり、最初から設定してあるという意味で)
一般論になるが、環境の立ち上げはずぶの素人だと辛い。
(はまった場合に回避できない)
だから13の言っていることは正しくて、知らないのならまずはお手軽環境でやったほうがいい。
XAMPPも十分お手軽だし俺はいいと思うけどね。
最初からガチ鯖で、というのも一理あるのだが、それは後付けの意見でしかないことも多い。
ちな俺はXAMPP/Windowsで使っているけど、最初からPHPは使えた。
(もちろん13の言うとおり、最初から設定してあるという意味で)
一般論になるが、環境の立ち上げはずぶの素人だと辛い。
(はまった場合に回避できない)
だから13の言っていることは正しくて、知らないのならまずはお手軽環境でやったほうがいい。
XAMPPも十分お手軽だし俺はいいと思うけどね。
最初からガチ鯖で、というのも一理あるのだが、それは後付けの意見でしかないことも多い。
16デフォルトの名無しさん (ワッチョイ 0b96-Qbx4)
2018/01/20(土) 10:53:53.90ID:bpfiGwqM0 初めてc#でプログラミング始めたんですが、
Visual studioを使ってると頻繁に行末に移動する「end」やカーソルキーを使いたくなるけど、
ショートカットってないんでしょうか?
nemacsとかだとctrl+eとかで行末に移動してくれたようなおぼろげな記憶があるんですけど。
Visual studioを使ってると頻繁に行末に移動する「end」やカーソルキーを使いたくなるけど、
ショートカットってないんでしょうか?
nemacsとかだとctrl+eとかで行末に移動してくれたようなおぼろげな記憶があるんですけど。
17デフォルトの名無しさん (ワッチョイ 0b96-Qbx4)
2018/01/20(土) 10:54:20.52ID:bpfiGwqM0 ほんとくだらない質問ですいません。
ググったけどショートカット見つからなかったもので。
ググったけどショートカット見つからなかったもので。
18デフォルトの名無しさん (アウアウウー Sad9-ULl5)
2018/01/20(土) 17:11:45.97ID:tLgBkvHga スレタイ読めねぇほどバカなのか
19デフォルトの名無しさん (ワッチョイ 5dd2-k4Q3)
2018/01/22(月) 17:07:06.70ID:YXQIUh04020デフォルトの名無しさん (ワッチョイ 27e9-7ZJK)
2018/01/26(金) 16:45:32.90ID:aV9eTo+Y0 よくあるファイルアップロードフォームと受け取り側PHPの構成なんですが、
アップロードされたファイル名がマルチバイトだと文字化け・・・というより、「あ.txt」なら「あ.txt」
となってしまいます。
Windows + XAMPP 環境ですが、
mb_convert_encoding($uploadfile, "SJIS", "auto");
や
mb_convert_encoding($uploadfile, "CP932", "auto");
を行っても結果は変わりません。
何かチェックすべき項目を見落としていると思うのですが、お助け下さい。
アップロードされたファイル名がマルチバイトだと文字化け・・・というより、「あ.txt」なら「あ.txt」
となってしまいます。
Windows + XAMPP 環境ですが、
mb_convert_encoding($uploadfile, "SJIS", "auto");
や
mb_convert_encoding($uploadfile, "CP932", "auto");
を行っても結果は変わりません。
何かチェックすべき項目を見落としていると思うのですが、お助け下さい。
21デフォルトの名無しさん (ワッチョイ 27e9-7ZJK)
2018/01/26(金) 16:47:17.43ID:aV9eTo+Y0 おうふ
「あ.txt」が「&#12354;.txt」(半角)となります。
「あ.txt」が「&#12354;.txt」(半角)となります。
22デフォルトの名無しさん (ワッチョイ 27e9-7ZJK)
2018/01/26(金) 17:20:40.16ID:aV9eTo+Y0 自己解決しました。
これでいけますね。
mb_convert_encoding($uploadfile, "SJIS", "HTML-ENTITIES");
ところで、これって環境によって不要だったりするのですか?
これでいけますね。
mb_convert_encoding($uploadfile, "SJIS", "HTML-ENTITIES");
ところで、これって環境によって不要だったりするのですか?
23デフォルトの名無しさん (ワッチョイ ef99-fPTX)
2018/01/27(土) 15:17:32.64ID:MzrwFkn+0 $a = [
[1, 5],
[9, 1],
[8, 2],
[1, 2],
];
みたいに宣言しているところがあって、これの2個目と3個目を変数で宣言したいわけよ
$a = [
[1, 5],
$b,
[1, 2],
];
みたいに。
この時 $b にはどういう入れ方すれば最初の形を再現してくれます?
[1, 5],
[9, 1],
[8, 2],
[1, 2],
];
みたいに宣言しているところがあって、これの2個目と3個目を変数で宣言したいわけよ
$a = [
[1, 5],
$b,
[1, 2],
];
みたいに。
この時 $b にはどういう入れ方すれば最初の形を再現してくれます?
24デフォルトの名無しさん (アウアウウー Sa77-4wfc)
2018/01/27(土) 16:01:09.58ID:kseb+5Eha 無理じゃね
25デフォルトの名無しさん (ワッチョイ ef99-fPTX)
2018/01/27(土) 17:00:21.87ID:MzrwFkn+0 やはりか
$b = [
[9, 1],
[8, 2],
];
にしちゃうと形変わっちゃうよな?
$b = [
[9, 1],
[8, 2],
];
にしちゃうと形変わっちゃうよな?
26デフォルトの名無しさん (ワッチョイ e365-4wfc)
2018/01/27(土) 17:16:07.80ID:mUh+GRjL0 array_merge使うのがいいと思うが
27デフォルトの名無しさん (ワッチョイ 566a-grVD)
2018/01/31(水) 21:00:18.89ID:68O1HbzJ0 Docコメントはツール使って書いてますか?
それとも使わず書いてますか?(*´ڡ`●)
それとも使わず書いてますか?(*´ڡ`●)
28デフォルトの名無しさん (ワッチョイ bf6a-qmJt)
2018/02/02(金) 20:59:07.10ID:angTjduf0 忘れてください(`・ω・´)ゞ
29デフォルトの名無しさん (ワッチョイ f72a-CNA0)
2018/02/03(土) 19:45:51.02ID:bLLjGwhG0 画像アップロードする時に、1つのフォルダにアップロードするのではなく、
/年/月/ファイル名
とわける方法があります。(WordPressとか)
しかしこの場合、ファイルを編集(入れ替える)時に以下の処理が必要になります。
1:編集するファイルの登録日を取得
2:1のフォルダ内にファイルが存在するか確認
3:存在していたら削除する
4:更新日のフォルダを作成
5:4のフォルダにファイルをアップロード
この処理を行うと「登録日のフォルダにファイルがひとつも存在しない」
と言った可能性があり、空フォルダになります。
空のままにしたくない場合は
{他にファイルが存在しない場合はフォルダごと削除}
と言った処理も必要になります。
ファイルをDBで管理している場合は、何度もクエリーを投げる必要があり、
無駄が多い気がするのですが、いかがでしょうか?
/年/月/ファイル名
とわける方法があります。(WordPressとか)
しかしこの場合、ファイルを編集(入れ替える)時に以下の処理が必要になります。
1:編集するファイルの登録日を取得
2:1のフォルダ内にファイルが存在するか確認
3:存在していたら削除する
4:更新日のフォルダを作成
5:4のフォルダにファイルをアップロード
この処理を行うと「登録日のフォルダにファイルがひとつも存在しない」
と言った可能性があり、空フォルダになります。
空のままにしたくない場合は
{他にファイルが存在しない場合はフォルダごと削除}
と言った処理も必要になります。
ファイルをDBで管理している場合は、何度もクエリーを投げる必要があり、
無駄が多い気がするのですが、いかがでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- 【朗報】「愛国保守党」の公約、ガチで日本再生の為ならアリだと話題に
- おもらし
- 👊😅👊三☁😶‍🌫三⛅🏡
- コーヒー、来年3月から30パーセント値上げへ [709039863]
