PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 9
http://mevius.5ch.net/test/read.cgi/tech/1513760420/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 10
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM02デフォルトの名無しさん (ワッチョイ cfe8-+65u)
2018/11/28(水) 17:09:08.08ID:Nb5yTkdM0 関連リンク
■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デフォルトの名無しさん (ワッチョイ ff9f-zhOP)
2018/11/28(水) 23:49:26.47ID:9Jzc2TOo0 下痢が出そうで出ないのですがどうすればよいでしょうか?
お腹が下らないんです
お腹が下らないんです
4デフォルトの名無しさん (ワッチョイ 9ad2-TWbZ)
2018/11/29(木) 01:17:40.41ID:fezToc6/0 >>3
本屋に行け
本屋に行け
5デフォルトの名無しさん (ワッチョイ 76ef-C0zt)
2018/11/30(金) 07:00:27.66ID:EXc3g5vT0 class FriendList implements IteratorAggregate{
private $list=[];
public function getIterator():Traversable
private $list=[];
public function getIterator():Traversable
6デフォルトの名無しさん (ワッチョイ 76ef-C0zt)
2018/11/30(金) 07:14:24.64ID:EXc3g5vT0 ↑誤爆すみません。↓よろしくお願いします。
---Friendlist.php---
<?php
class FriendList implements IteratorAggregate{
private $list=[];
public function getIterator():Traversable{
return new ArrayIterator($this->list);
}
public function add($p){
$this->list[]=$p;
}
これを他のクラスでインスタンス化して、foreachで反復処理する場合、
$friendl=new Friendlist();
foreach($friendl as $value){
}
どの部分でFriendlist.phpのgetIterator()が読み込まれるのでしょうか?
foreact部ですか?
---Friendlist.php---
<?php
class FriendList implements IteratorAggregate{
private $list=[];
public function getIterator():Traversable{
return new ArrayIterator($this->list);
}
public function add($p){
$this->list[]=$p;
}
これを他のクラスでインスタンス化して、foreachで反復処理する場合、
$friendl=new Friendlist();
foreach($friendl as $value){
}
どの部分でFriendlist.phpのgetIterator()が読み込まれるのでしょうか?
foreact部ですか?
7デフォルトの名無しさん (ワッチョイ 76ef-C0zt)
2018/12/02(日) 15:51:21.58ID:JoV96n8f0 >>6
foreachでインスタンスを使うと、getIteratorが呼び出され、ArrayIteratorのコンストラクタにlist配列が引き渡され、ArrayIteratorインスタンスとしてiteratorが戻されます。
foreachでインスタンスを使うと、getIteratorが呼び出され、ArrayIteratorのコンストラクタにlist配列が引き渡され、ArrayIteratorインスタンスとしてiteratorが戻されます。
8デフォルトの名無しさん (ワッチョイ db08-yEox)
2018/12/02(日) 17:45:47.71ID:LBfjyA1g0 アクセスカウンターを自分のサイトに
付けたんだけど、シンプルにこれにしようかと思うんのだが、
やっぱ、30分〜1時間の同じipは弾くとかの改造すべきなのだろうか?
なんか漠然と意識高い系のアクセスカウンターにしたい気もする
アドバイスお願いします。
https://www.php-factory.net/counter/01.php
付けたんだけど、シンプルにこれにしようかと思うんのだが、
やっぱ、30分〜1時間の同じipは弾くとかの改造すべきなのだろうか?
なんか漠然と意識高い系のアクセスカウンターにしたい気もする
アドバイスお願いします。
https://www.php-factory.net/counter/01.php
9デフォルトの名無しさん (ワッチョイ 47e9-o5Pc)
2018/12/04(火) 13:06:18.62ID:lEYKJ99g0 >>8
そんなの自分次第なんだし好きにすれば?
コード読んでみたけど
同じIPが連続した時のみカウントしないようにはなってるが
あんま意味ないなこれw
クッキー食わせて指定時間以内ならカウントしないとかなら
ちょっとした改造でできるんだしやってみれば?
そんなの自分次第なんだし好きにすれば?
コード読んでみたけど
同じIPが連続した時のみカウントしないようにはなってるが
あんま意味ないなこれw
クッキー食わせて指定時間以内ならカウントしないとかなら
ちょっとした改造でできるんだしやってみれば?
10デフォルトの名無しさん (ワッチョイ d3ab-ineF)
2018/12/06(木) 12:15:37.67ID:m4YfQK1J0 Symfony2に関しての質問です。
EC-CUBEのプラグインを開発しているのですが、
例えば、管理画面の会員登録にradioを置きたいのですが、
どうやってフックすればいいのか、よく理解できていません。
というか、Hello Worldに到達できていません。
何かいい解説サイトとかないでしょうか?
EC-CUBEのプラグインを開発しているのですが、
例えば、管理画面の会員登録にradioを置きたいのですが、
どうやってフックすればいいのか、よく理解できていません。
というか、Hello Worldに到達できていません。
何かいい解説サイトとかないでしょうか?
11デフォルトの名無しさん (ワッチョイ 939f-n9Ol)
2018/12/06(木) 23:33:16.69ID:O2YT1bAS0 鼻の穴に入れたらそのまま頭の上まで通すんだよ
12デフォルトの名無しさん (ワッチョイ dbef-n9Ol)
2018/12/08(土) 07:24:27.43ID:LXRFdUog0 unsetについて教えてください
<?php
$x=10;
function fc(){
global $x;
unset($x);
return ++$x;
}
print $x;// 結果10
print fc();//結果 1
となるのですが、関数内で$xをグローバルにしても、
unset($x)すると、ローカルな$xを作ってしまう、ということなのでしょうか?
<?php
$x=10;
function fc(){
global $x;
unset($x);
return ++$x;
}
print $x;// 結果10
print fc();//結果 1
となるのですが、関数内で$xをグローバルにしても、
unset($x)すると、ローカルな$xを作ってしまう、ということなのでしょうか?
13デフォルトの名無しさん (ワッチョイ 4b9f-fJDm)
2018/12/08(土) 07:56:43.69ID:fWle4nJW0 unsetしたら無くなる
returnの行で
$x=0;$x=$x+1;
をしてる
return ++$y;
ならどうなんだろうね
returnの行で
$x=0;$x=$x+1;
をしてる
return ++$y;
ならどうなんだろうね
14デフォルトの名無しさん (ワッチョイ 5bd5-rcbP)
2018/12/08(土) 10:05:40.16ID:yelb6oUt0 >>12
最後にもう一度 print $x; をやってごらんよ
最後にもう一度 print $x; をやってごらんよ
15デフォルトの名無しさん (ワッチョイ 01ab-n9Ol)
2018/12/08(土) 10:13:33.95ID:RDjv1fsh0 >>12
http://php.net/manual/ja/function.unset.php
unset($x)の時の$xはローカル変数の$xになってます。
関数内でグローバル変数としての$xを破棄したいのなら
unset($GLOBALS[]);を使います。
そもそもグローバル変数とローカル変数のスコープが異なるのは、
関数内の変数の取り扱いで、グローバル変数に影響させない為
関数の外でunsetせず、関数内で安易にグローバル変数をunsetさせず、
特別な取り扱いをさせている、ということなのですね
http://php.net/manual/ja/function.unset.php
unset($x)の時の$xはローカル変数の$xになってます。
関数内でグローバル変数としての$xを破棄したいのなら
unset($GLOBALS[]);を使います。
そもそもグローバル変数とローカル変数のスコープが異なるのは、
関数内の変数の取り扱いで、グローバル変数に影響させない為
関数の外でunsetせず、関数内で安易にグローバル変数をunsetさせず、
特別な取り扱いをさせている、ということなのですね
16デフォルトの名無しさん (ワッチョイ 81b3-xqdQ)
2018/12/08(土) 12:13:49.89ID:iKq5+OXH0 >> 12
これ、notice 発生するでしょ。
学習時は、そういうの気にしたほうが良いですよ。
グローバルに使うケースなんてあまりないから、マニュアル見る良いきっかけにはなったけどw
これ、notice 発生するでしょ。
学習時は、そういうの気にしたほうが良いですよ。
グローバルに使うケースなんてあまりないから、マニュアル見る良いきっかけにはなったけどw
17デフォルトの名無しさん (ワッチョイ dbef-n9Ol)
2018/12/08(土) 22:24:20.62ID:LXRFdUog018デフォルトの名無しさん (ワッチョイ b9e9-xqdQ)
2018/12/10(月) 12:14:54.37ID:5+iaWJW9019デフォルトの名無しさん (ワッチョイ dbef-n9Ol)
2018/12/10(月) 21:59:19.28ID:C/CCdKQw020デフォルトの名無しさん (ワッチョイ b9e9-xqdQ)
2018/12/11(火) 18:35:27.17ID:RBYf2Nxf0 >>19
学習・開発環境では
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /path/to/error
で、本番(ネット上に公開する)環境では
log_errors = Off
として、エラーは出力せずログに記録するのみとする
(エラーを出力する事はセキュリティ的な穴になり得るから)
/path/to/error ってのはエラーを記録したいファイルへのパスってことね
書き込み権限与える事を忘れないよう
これやるとやらないとでは上達速度に相当差がつく
※本番環境では error_reporting のレベルを下げると書いてるものがたまにあるが
※大間違いなので真似しないよう
学習・開発環境では
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /path/to/error
で、本番(ネット上に公開する)環境では
log_errors = Off
として、エラーは出力せずログに記録するのみとする
(エラーを出力する事はセキュリティ的な穴になり得るから)
/path/to/error ってのはエラーを記録したいファイルへのパスってことね
書き込み権限与える事を忘れないよう
これやるとやらないとでは上達速度に相当差がつく
※本番環境では error_reporting のレベルを下げると書いてるものがたまにあるが
※大間違いなので真似しないよう
21デフォルトの名無しさん (ワッチョイ 3b5f-JWqu)
2018/12/15(土) 17:50:00.18ID:jezVqobh0 小数点8桁を含むjsonをjson_decodeすると6桁に丸められて出力されるわこれ
どうしたらいいんだ。。
どうしたらいいんだ。。
22デフォルトの名無しさん (ワッチョイ 1aa5-UKyl)
2018/12/16(日) 00:15:00.03ID:QyRtehwq023デフォルトの名無しさん (ガックシ 06ff-ppkv)
2018/12/17(月) 10:59:38.41ID:S8NIVwif6 Laravelwwwwwwwww
24デフォルトの名無しさん (ワッチョイ 8a9f-UKyl)
2018/12/19(水) 00:15:29.67ID:kru7p0rZ0 ・我慢する
・妥協する
好きな方を選んでいいぞ
・妥協する
好きな方を選んでいいぞ
25デフォルトの名無しさん (ワッチョイ 6d9b-1vVt)
2018/12/22(土) 23:51:36.73ID:uVsSh1bK0 age
26デフォルトの名無しさん (ワッチョイ 9bef-q1e7)
2018/12/23(日) 09:55:59.13ID:imRge5LT0 laravelに関する質問って、どこですればいいですか?
27デフォルトの名無しさん (オッペケ Sr61-2x0a)
2018/12/23(日) 11:05:13.96ID:1KLFWUpKr Web板にある
28デフォルトの名無しさん (スププ Sd43-hgre)
2018/12/23(日) 11:08:44.03ID:I9bN9e1Bd symfony2は?
29デフォルトの名無しさん (オッペケ Sr61-2x0a)
2018/12/23(日) 12:02:07.91ID:1KLFWUpKr 同じくWebProg板にある
30デフォルトの名無しさん (ワッチョイ 6d9b-1vVt)
2018/12/23(日) 18:02:34.43ID:zMRMmtKp0 webprogのphpスレは初心者お断りみたいだから
このスレで質問したほうがいいけど
初心者お断りスレじゃなければwebprogの該当スレでいいんじゃね
age
このスレで質問したほうがいいけど
初心者お断りスレじゃなければwebprogの該当スレでいいんじゃね
age
31デフォルトの名無しさん (ワッチョイ 3598-E+HT)
2018/12/23(日) 19:28:28.95ID:dJkVsi530 エディタの配色テーマによっては、下記のようなスラッシュで囲んだ文字列がエラーっぽい色で表示されるんですが
書き方が間違っているんでしょうか?
$var = '/string/';
書き方が間違っているんでしょうか?
$var = '/string/';
32デフォルトの名無しさん (ワッチョイ 43a5-q1e7)
2018/12/23(日) 20:41:01.87ID:erEBm9IL0 preg_matchとかの正規表現だと判断されてるとかかな?
33デフォルトの名無しさん (ワッチョイ 3598-E+HT)
2018/12/23(日) 21:28:49.02ID:dJkVsi53034デフォルトの名無しさん (ワッチョイ e3ab-hgre)
2018/12/23(日) 22:14:03.14ID:C6NZW+q00 EC-CUBE3の質問って、ここでいいの?
35デフォルトの名無しさん (ワッチョイ 9bef-q1e7)
2018/12/24(月) 14:10:57.93ID:233xwMnJ0 >>30
ありがとうございます。
@slot と @includeの違いについてなのですが、
@slotは、@endslopまでの範囲の記載内容をテンプレの変数に割り当て
@includeでは、連想配列をつかって、テンプレ側でキーに対応する値を表示させる、ということのようですが、
結果的に同じような役割のように思えます。
決定的な違いって何なのでしょうか?
ありがとうございます。
@slot と @includeの違いについてなのですが、
@slotは、@endslopまでの範囲の記載内容をテンプレの変数に割り当て
@includeでは、連想配列をつかって、テンプレ側でキーに対応する値を表示させる、ということのようですが、
結果的に同じような役割のように思えます。
決定的な違いって何なのでしょうか?
36デフォルトの名無しさん (ワッチョイ 6d9b-KoXC)
2018/12/25(火) 01:56:48.71ID:NrxUWHxX0 機能的な違いはない
htmlタグを含む場合はslotのほうが見やすい(書きやすい)
と誰かが言ってた
htmlタグを含む場合はslotのほうが見やすい(書きやすい)
と誰かが言ってた
37デフォルトの名無しさん (ワッチョイ 9bef-q1e7)
2018/12/25(火) 06:51:17.65ID:+RHRyNBd0 ありがとうございました!スッキリしました!
38デフォルトの名無しさん (ワッチョイ 8998-sNPY)
2018/12/29(土) 02:00:22.36ID:qNy1dmrU0 larabelを使ってます。
その機能でオートローダーのスタティックを利用してます。
useしてnewするのは不要にってます
一方、larabelにはdi機能というのもあるようです。
どちらもnew不要ですがどちらの使い分けとかパターンわけなど何か使い分けるヒントをお願いします
その機能でオートローダーのスタティックを利用してます。
useしてnewするのは不要にってます
一方、larabelにはdi機能というのもあるようです。
どちらもnew不要ですがどちらの使い分けとかパターンわけなど何か使い分けるヒントをお願いします
39デフォルトの名無しさん (オッペケ Sr75-ledV)
2018/12/29(土) 17:02:58.05ID:CFGewoy6r class作るとき必ずinterfaceって作るものなの?
40デフォルトの名無しさん (ワッチョイ 99f0-xhm2)
2019/01/08(火) 18:59:06.54ID:odmObNXY0 おめでとうございます。今年もよろしくお願いします。
laravelの質問なのですが、ご教授くださいましたら幸いです。
class HelloController extends Controller{
public function index(Request $request,Response $response){
$html =<<<EOF
<html>
<body>
<h1>request</h1>
<p>{$request}</p>
<h1>response</h1>
<p>{$response}</p>
</body>
</html>
EOF;
$response->setContent($html);
return $response;
}
}
この最終行から3行目の,return $responseを、return $htmlとしても、ブラウザに表示される内容は同じです。
return $htmlで表示させないで、responseのcontentにhtmlコードを追加してreturnしている理由は、何かあるのでしょうか?
laravelの質問なのですが、ご教授くださいましたら幸いです。
class HelloController extends Controller{
public function index(Request $request,Response $response){
$html =<<<EOF
<html>
<body>
<h1>request</h1>
<p>{$request}</p>
<h1>response</h1>
<p>{$response}</p>
</body>
</html>
EOF;
$response->setContent($html);
return $response;
}
}
この最終行から3行目の,return $responseを、return $htmlとしても、ブラウザに表示される内容は同じです。
return $htmlで表示させないで、responseのcontentにhtmlコードを追加してreturnしている理由は、何かあるのでしょうか?
41デフォルトの名無しさん (オッペケ Src5-IAsy)
2019/01/08(火) 21:29:14.91ID:IOloucApr >>40
ララベルの仕様をみてsetContentはなんと書いてあるの?
ララベルの仕様をみてsetContentはなんと書いてあるの?
42デフォルトの名無しさん (ワッチョイ 99f0-xhm2)
2019/01/09(水) 11:51:40.20ID:rfEx/2+M0 >>41
ありがとうございます。
setContentは、Responseでクライアントに戻すHTMLソースが格納されてます。
HTMLソースを返すのなら、return $htmlを返しても同じなのかな、と思いまして質問しました。
ありがとうございます。
setContentは、Responseでクライアントに戻すHTMLソースが格納されてます。
HTMLソースを返すのなら、return $htmlを返しても同じなのかな、と思いまして質問しました。
43デフォルトの名無しさん (ワッチョイ fb8c-6SQQ)
2019/01/09(水) 18:55:24.82ID:MSH+15Q+0 掲示板作ってるんだけど、更新すると連投しちゃうのを防ぎたいんだけどどうすればいい?
POSTの中身を消して分岐させるとかイメージでいいの?
POSTの中身を消して分岐させるとかイメージでいいの?
44デフォルトの名無しさん (ワッチョイ 734d-xhm2)
2019/01/09(水) 19:52:02.31ID:4rDfBKqR0 >>43
登録後にブラウザの更新ボタンが押されると送信済みのPOSTデータが再送信され結果2重登録してしまうって事だよね?
なら↓のやり方でどうか
画面アクセス毎にセッションにランダム文字列を保存&出力htmlに<INPUT type="hidden">で保存した文字列を埋め込む
登録処理時、セッションに文字列が無い場合やPOSTされた文字列とセッションに保存された文字列が一致しない場合はNGとする
登録後にブラウザの更新ボタンが押されると送信済みのPOSTデータが再送信され結果2重登録してしまうって事だよね?
なら↓のやり方でどうか
画面アクセス毎にセッションにランダム文字列を保存&出力htmlに<INPUT type="hidden">で保存した文字列を埋め込む
登録処理時、セッションに文字列が無い場合やPOSTされた文字列とセッションに保存された文字列が一致しない場合はNGとする
45デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/10(木) 12:14:58.77ID:DtkiUTJR0 戻って更新なら連投の可能性もわかるけど
ただの更新でなんでそんな状況になるのか
ただの更新でなんでそんな状況になるのか
46デフォルトの名無しさん (ワッチョイ ce46-VK1S)
2019/01/10(木) 21:45:56.88ID:W9NULntl0 投稿内容をどこに保存しているかによるけれど
Requestに保存されてるんだからって言えばいい?
Requestに保存されてるんだからって言えばいい?
47デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/11(金) 00:52:34.47ID:Tbw1O8r40 indexから同じindexにpostしてindexで更新してるってことかな?
普通はpost用のコントローラに渡して実行後にindexにリダイレクトするから
戻るおさん限りは更新しても問題にはならんと思うのだけど
チャットほどじゃないにせよリロードが出来ない掲示板なんて…
まあ手動じゃなくて更新データはスクリプトで非同期でとってくりゃいいけど
サーバでどうにかなればプッシュすれば利便性もUP
普通はpost用のコントローラに渡して実行後にindexにリダイレクトするから
戻るおさん限りは更新しても問題にはならんと思うのだけど
チャットほどじゃないにせよリロードが出来ない掲示板なんて…
まあ手動じゃなくて更新データはスクリプトで非同期でとってくりゃいいけど
サーバでどうにかなればプッシュすれば利便性もUP
48デフォルトの名無しさん (ワッチョイ a5f0-VK1S)
2019/01/11(金) 09:10:05.09ID:5Sr7Z6Dc0 ディベロッパーツールで確認してごらんよ
POSTつかってリロードするとブラウザ内でPOST情報がどうなっているか
POSTつかってリロードするとブラウザ内でPOST情報がどうなっているか
49デフォルトの名無しさん (ワッチョイ ce8c-1FXn)
2019/01/11(金) 18:16:54.21ID:0MVnI2bb0 >>43
同じ掲示板にジャンプして書き込まれたPOSTの中身を確認してテキストに保存してって感じで作ってる
でもtime変数使ってページ読み込んだ時とボタン押されたときの変数で一致したら書き込むって感じでやってみるわ
同じ掲示板にジャンプして書き込まれたPOSTの中身を確認してテキストに保存してって感じで作ってる
でもtime変数使ってページ読み込んだ時とボタン押されたときの変数で一致したら書き込むって感じでやってみるわ
50デフォルトの名無しさん (ワッチョイ 5594-O5RA)
2019/01/11(金) 18:35:21.28ID:5tFH3fBo0 POST後はLocationでリダイレクトしちゃうな
51デフォルトの名無しさん (オイコラミネオ MM3d-P9+q)
2019/01/11(金) 22:43:36.05ID:4vkkoNusM52デフォルトの名無しさん (ワッチョイ d62c-NvUN)
2019/01/12(土) 00:51:32.95ID:IAz54C400 Rails など、普通のフレームワークの作り方では、
Post したら別の画面、一覧画面などに移動する
ルーティング(routes.rb)に、CRUD が定義されている。
追加(C)・更新(U)されたら、一覧(R)に戻る
一覧に戻ると、追加・更新されたのを見れる
Post したら別の画面、一覧画面などに移動する
ルーティング(routes.rb)に、CRUD が定義されている。
追加(C)・更新(U)されたら、一覧(R)に戻る
一覧に戻ると、追加・更新されたのを見れる
53デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/12(土) 08:15:39.30ID:9TmqbdMf0 戻るに対応するなら
セッションでトランザクション処理のようなことをやればいいだけだけど
更新するだけで連投されるなんていうミラクル仕様に突っ込んでるだけで
それとこれは話が別よ
セッションでトランザクション処理のようなことをやればいいだけだけど
更新するだけで連投されるなんていうミラクル仕様に突っ込んでるだけで
それとこれは話が別よ
54デフォルトの名無しさん (ワッチョイ 16da-aYY/)
2019/01/12(土) 11:26:47.84ID:dtC7PwsV055デフォルトの名無しさん (ワッチョイ 715f-RNo8)
2019/01/12(土) 11:47:59.75ID:JRnnmwIl0 他人のファイルに書き込みたいのですが、うまくいきません。
<?php
$file = 'https://mevius.5ch.net/test/read.cgi/tech/1543392526/l50';
file_put_contents($file, 'shine');
?>
なぜでしょうか?
<?php
$file = 'https://mevius.5ch.net/test/read.cgi/tech/1543392526/l50';
file_put_contents($file, 'shine');
?>
なぜでしょうか?
56デフォルトの名無しさん (ワッチョイ a5f0-VK1S)
2019/01/12(土) 11:55:12.21ID:wHUCWNv00 phpの質問をお願いします
class HelloRequest extends FormRequest
class HelloRequest extends FormRequest
57デフォルトの名無しさん (ワッチョイ a5f0-VK1S)
2019/01/12(土) 11:58:58.16ID:wHUCWNv00 すみません、誤射でした><
class HelloRequest extends FormRequest{
public function authorize(){
if($this->path() =='hello'){
return true;
}}}
if文にあるthis->path()は、validationメソッドですが
スーパークラスのFormRequestはControllerを継承してるのでしょうか?
また、laravelのクラスの継承図のようなものってどこかにありますか?
class HelloRequest extends FormRequest{
public function authorize(){
if($this->path() =='hello'){
return true;
}}}
if文にあるthis->path()は、validationメソッドですが
スーパークラスのFormRequestはControllerを継承してるのでしょうか?
また、laravelのクラスの継承図のようなものってどこかにありますか?
58デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/12(土) 13:04:51.50ID:9TmqbdMf0 >>55
file_put_contentsは使わないけどそれ以前にPOSTする為のパラメーターが足りてない
どういうことか理解できるならstream_context_createのページ見てみればいい
それ踏まえて方法はいくつかあるがcURLが一般的なので「PHP cURL POST」でググればいいよ
file_put_contentsは使わないけどそれ以前にPOSTする為のパラメーターが足りてない
どういうことか理解できるならstream_context_createのページ見てみればいい
それ踏まえて方法はいくつかあるがcURLが一般的なので「PHP cURL POST」でググればいいよ
59デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/12(土) 16:57:28.50ID:9TmqbdMf0 >>57
Laravelは使わないから知らないがLaravel APIでググったらこんなん出てきたけども
https://laravel.com/api/5.7/Illuminate/Foundation/Http/FormRequest.html
あとは頑張れ
https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Http/FormRequest.php
Laravelは使わないから知らないがLaravel APIでググったらこんなん出てきたけども
https://laravel.com/api/5.7/Illuminate/Foundation/Http/FormRequest.html
あとは頑張れ
https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Http/FormRequest.php
60デフォルトの名無しさん (アークセー Sx85-d2bj)
2019/01/12(土) 21:14:39.18ID:zfAqW2URx cakephp 2
find x3回
を
(unbind, find) x3回
にしたら8倍速くなった
やってること合ってる?
find x3回
を
(unbind, find) x3回
にしたら8倍速くなった
やってること合ってる?
61デフォルトの名無しさん (ワッチョイ 715f-RNo8)
2019/01/13(日) 01:34:59.40ID:mcoRrcQP0 超くだらない質問なんですが
PHPにパスワードを保存しようと思うのですが
PHPのソースコードが読まれないか心配です
いちおうブラウザからはソースを選択しても表示されないのですが
もしかしたら何らかの方法で読まれる可能性もありそうで
心配で寝れません
教えて下さい
お願いします
PHPにパスワードを保存しようと思うのですが
PHPのソースコードが読まれないか心配です
いちおうブラウザからはソースを選択しても表示されないのですが
もしかしたら何らかの方法で読まれる可能性もありそうで
心配で寝れません
教えて下さい
お願いします
62デフォルトの名無しさん (ワッチョイ 5594-VK1S)
2019/01/13(日) 04:56:00.12ID:5HRwOXUS0 環境変数で入れるかせめてハッシュ化する
63デフォルトの名無しさん (ワッチョイ d6a7-ae4N)
2019/01/13(日) 07:19:52.26ID:vFHHKg450 パスワードをスクリプトから分離して
phpからは参照出来るが外から直接参照できないとこ(ドキュメントルートの上とかDBとか)に置く
ファイルに保存するならファイル名は.htを先頭につけるといい
パスワードはハッシュ化しておく
これらが有効なのは放置してサーバの仕様変更に気づかなかったり(php廃止とか)
設定ミスってphpをtxtとして配信してしまうようなケースのみ
そのへんに問題なくてphpのソースコードが見られてしまうような場合は
もう何もかもがだめなことが多いので心配するだけ無駄だわ
phpからは参照出来るが外から直接参照できないとこ(ドキュメントルートの上とかDBとか)に置く
ファイルに保存するならファイル名は.htを先頭につけるといい
パスワードはハッシュ化しておく
これらが有効なのは放置してサーバの仕様変更に気づかなかったり(php廃止とか)
設定ミスってphpをtxtとして配信してしまうようなケースのみ
そのへんに問題なくてphpのソースコードが見られてしまうような場合は
もう何もかもがだめなことが多いので心配するだけ無駄だわ
64デフォルトの名無しさん (ワッチョイ ce46-VK1S)
2019/01/13(日) 10:01:59.70ID:c0Flhv7n065デフォルトの名無しさん (オッペケ Sr85-DIji)
2019/01/13(日) 12:25:48.51ID:e78RN+cdr Laravel使いたいのに絶対にcakePHP!!と言われて仕方なくそっちでやってる
66デフォルトの名無しさん (ワッチョイ 0a4b-VK1S)
2019/01/14(月) 07:36:31.79ID:qdlB9M7a0 すみません、助けてください
Vagrantが警告出てインストール出来ない環境って
何が問題なんでしょうか?
インストールが強制終了されます
バージョンは最新です
何が邪魔してるのでしょうか?
https://i.imgur.com/3jCEdpw.png
Vagrantが警告出てインストール出来ない環境って
何が問題なんでしょうか?
インストールが強制終了されます
バージョンは最新です
何が邪魔してるのでしょうか?
https://i.imgur.com/3jCEdpw.png
67デフォルトの名無しさん (オッペケ Sr85-DIji)
2019/01/14(月) 11:20:16.98ID:WRAeIDjcr 知らん
てか普通は作ったサポートに聞くだろ
なんで関係ない他人に聞くんだよ?
てか普通は作ったサポートに聞くだろ
なんで関係ない他人に聞くんだよ?
68デフォルトの名無しさん (ワッチョイ 5594-O5RA)
2019/01/14(月) 12:39:08.03ID:Wx7rBQ7H0 PHPの質問でもないしなぁ
69デフォルトの名無しさん (ワッチョイ ce46-VK1S)
2019/01/14(月) 21:58:11.38ID:mB9ZyxQs070デフォルトの名無しさん (ワッチョイ b34b-fAiL)
2019/01/17(木) 02:54:30.64ID:PVRvfBHL0 今でも使えるリファレンス本って何があるのでしょうか?
出版されてるものって古いですけど使えます?
出版されてるものって古いですけど使えます?
71デフォルトの名無しさん (オッペケ Sr1d-M666)
2019/01/17(木) 11:02:45.61ID:oOFYk3pkr phpはほぼ変わってないからよほど古くない限りどれでもいいからさっさとやれ
72デフォルトの名無しさん (ワッチョイ 11f0-fAiL)
2019/01/22(火) 15:38:00.61ID:+epunpvy0 laravel マイグレーション、シーディング処理について教えてください
現象:マイグレーションは作成できた。シーディングの実行で、columnが無い、というエラーが出る
----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){
Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->timestamps();
現象:マイグレーションは作成できた。シーディングの実行で、columnが無い、というエラーが出る
----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){
Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->timestamps();
7372 誤爆すみません (ワッチョイ 11f0-fAiL)
2019/01/22(火) 15:54:41.18ID:+epunpvy0 laravelついて教えてください。現象:マイグレーションでテーブルは作成できた。シーディングの実行で、columnが無い、というエラーが出る
//----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){
Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->timestamps();
});}
//----- Seeder -----
publid function run(){
$param=['name'=>'suzu','age'=>20,]:
DB::table('people')->insert($param);
$param=['name'=>'mizu','age'=>24];
DB::table('peope')->insert($param);}
//----- Seeding実行 -----
php artisan db:seed
//----- エラー -----
General error:table people has no column named name(SQL:insert into "people"("name","age") value(suzu,20))
catch(Exception $e){//・・・
$query,$this->prepareBindings($bindings),$e
マイグレーションで作成したテーブルにデータが登録できないのはなぜなのでしょうか?よろしくお願いします。
//----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){
Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->timestamps();
});}
//----- Seeder -----
publid function run(){
$param=['name'=>'suzu','age'=>20,]:
DB::table('people')->insert($param);
$param=['name'=>'mizu','age'=>24];
DB::table('peope')->insert($param);}
//----- Seeding実行 -----
php artisan db:seed
//----- エラー -----
General error:table people has no column named name(SQL:insert into "people"("name","age") value(suzu,20))
catch(Exception $e){//・・・
$query,$this->prepareBindings($bindings),$e
マイグレーションで作成したテーブルにデータが登録できないのはなぜなのでしょうか?よろしくお願いします。
7473 (ワッチョイ 11f0-fAiL)
2019/01/22(火) 16:28:02.93ID:+epunpvy0 すみません、なんだか分かりませんでしたが自己解決しました。
お騒がせしました。
お騒がせしました。
75デフォルトの名無しさん (ワッチョイ 9375-qnWR)
2019/01/23(水) 08:11:47.51ID:3lDydxt30 練習兼ねて小規模&少機能で簡単なネットショップを作ろうとしてるのですが、設計段階でファイルがごちゃごちゃになってしまいそうです
フォルダの作り方やファイルの分け方はどんな感じでやればスッキリ分かりやすくなりますかね?
フォルダの作り方やファイルの分け方はどんな感じでやればスッキリ分かりやすくなりますかね?
76デフォルトの名無しさん (ワッチョイ 9101-F2Ks)
2019/01/23(水) 08:31:27.16ID:Kmczp3SP0 >>75
小規模でもフレームワーク使うのがいいよ
小規模でもフレームワーク使うのがいいよ
77デフォルトの名無しさん (ワッチョイ 9bca-xX+4)
2019/01/23(水) 09:34:11.34ID:PjIYOotT0 フレームワーク自体のメンテが厄介だから入れずに済むのであれば入れない方がいいよ
78デフォルトの名無しさん (ワッチョイ 9bbb-2w1z)
2019/01/23(水) 11:27:05.16ID:aXKStg7n0 rep2という2chビューアのうち、DB連携部分のみうまく動かずデバッグしています。
■環境
php7.2で、phpinfo()には mysqli,mysqlnd,pdo_mysql
いずれもバージョン情報が表示されてて、必要な環境は準備できていると思っています。
■現象
$db = \DB::connect($dsn);
を実行すると、"DB Error: no database selected"というエラーになります。実際やりたいこと(imagecache2の利用)もできません。
■調べたこと
$this->comment('dsn=' . var_export($dsn, true));
の結果、以下の通り$dsnは正しいように見えます。
dsn='mysqli://rep2:password@localhost:3306/rep2'
しかし、以下のようにすると…
$db = \DB::connect($dsn);
$this->comment('db=' . var_export($db, true));
配列にusernameやpasswordが代入されていないようです。
'dsn' =>
array (
'phptype' => 'mysqli',
'dbsyntax' => 'mysqli',
'username' => false,
'password' => false,
'protocol' => false,
'hostspec' => false,
'port' => false,
'socket' => false,
'database' => false,
ではなぜ代入されないのか、がわからず。教えていただけないでしょうか。
■環境
php7.2で、phpinfo()には mysqli,mysqlnd,pdo_mysql
いずれもバージョン情報が表示されてて、必要な環境は準備できていると思っています。
■現象
$db = \DB::connect($dsn);
を実行すると、"DB Error: no database selected"というエラーになります。実際やりたいこと(imagecache2の利用)もできません。
■調べたこと
$this->comment('dsn=' . var_export($dsn, true));
の結果、以下の通り$dsnは正しいように見えます。
dsn='mysqli://rep2:password@localhost:3306/rep2'
しかし、以下のようにすると…
$db = \DB::connect($dsn);
$this->comment('db=' . var_export($db, true));
配列にusernameやpasswordが代入されていないようです。
'dsn' =>
array (
'phptype' => 'mysqli',
'dbsyntax' => 'mysqli',
'username' => false,
'password' => false,
'protocol' => false,
'hostspec' => false,
'port' => false,
'socket' => false,
'database' => false,
ではなぜ代入されないのか、がわからず。教えていただけないでしょうか。
79デフォルトの名無しさん (ワッチョイ eb2c-AZji)
2019/01/23(水) 11:46:36.90ID:tAarVqiS0 よく知らないけど、
connect は、データソースへつなぐだけじゃないの?
SQL のselect みたいなものは無いの?
CRUD も検索して
connect は、データソースへつなぐだけじゃないの?
SQL のselect みたいなものは無いの?
CRUD も検索して
80デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
2019/01/24(木) 00:24:18.63ID:cPFOMtSZ081デフォルトの名無しさん (ワッチョイ 2ea7-iVxn)
2019/01/24(木) 19:50:20.26ID:kFfuye3h0 標準関数にズバリのものはないと思うけど探せば誰かコード書いてるはず
簡単なのでよければsubstr使うとか
parse_urlしたのを組み直すかそのあたりで
./../とかも考慮するならちょっと面倒になってくるが
簡単なのでよければsubstr使うとか
parse_urlしたのを組み直すかそのあたりで
./../とかも考慮するならちょっと面倒になってくるが
82デフォルトの名無しさん (ワッチョイ 06ca-hLzx)
2019/01/24(木) 23:16:07.50ID:TFfQdKfR083デフォルトの名無しさん (ワッチョイ 8101-h/iE)
2019/01/24(木) 23:50:15.43ID:1L/prd7r0 / の2個以上の連続を一つに置換する操作する処理を見かけたことあるなぁ。。。
あんまりきれいじゃない気がするけどw
あんまりきれいじゃない気がするけどw
84デフォルトの名無しさん (ワッチョイ 2e63-uJAn)
2019/01/24(木) 23:57:10.70ID:+WsHUVaQ0 ちょっと乱暴かも知れませんが、スラッシュが二重になっても
パスとしてはエラーにはならないと思います(見た目汚いですが)
パスとしてはエラーにはならないと思います(見た目汚いですが)
85デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
2019/01/25(金) 23:38:05.77ID:H/r4QqDk0 echo 'aaa';
echo('aaa');
include_once 'path/file.php';
include_once( 'path/file.php');
のようにカッコが有っても無くても良い関数がありますが、
php上級者の人はどっちを使うのでしょうか?
理由も教えてけろ
echo('aaa');
include_once 'path/file.php';
include_once( 'path/file.php');
のようにカッコが有っても無くても良い関数がありますが、
php上級者の人はどっちを使うのでしょうか?
理由も教えてけろ
86デフォルトの名無しさん (ワッチョイ 45f3-kHYM)
2019/01/26(土) 17:25:33.44ID:y5VTPiFL0 関数・・・・・カッコを付ける
言語構造・・・カッコを付けない
echo も include も言語構造。
迷ったらマニュアルの例文をコピペ。
言語構造・・・カッコを付けない
echo も include も言語構造。
迷ったらマニュアルの例文をコピペ。
87デフォルトの名無しさん (オッペケ Srf1-ZdbU)
2019/01/26(土) 17:57:25.92ID:WSFNrCYQr phpの関数の戻り値って望む型の他にfalseも返ることがあるよね
そんで7からは戻り値の型宣言いれて戻り値の型が違ったらTypeError出す
もうごちゃごちゃだね
そんで7からは戻り値の型宣言いれて戻り値の型が違ったらTypeError出す
もうごちゃごちゃだね
88デフォルトの名無しさん (ワッチョイ 2e63-uJAn)
2019/01/26(土) 18:18:29.92ID:HzZF0HWM0 言っていることがごちゃごちゃだってことは分かった
89デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)
2019/01/26(土) 18:58:01.87ID:exLOU4gz090デフォルトの名無しさん (ワッチョイ 4646-uJAn)
2019/01/28(月) 07:17:11.62ID:X4/3tVW10 laravelに関して質問させてください。
Eloqentのモデルに関してです。
<?php
namespace ---
use ---\Model
class Person extends Model{
public function scopeAgeGreaterThan($query,$n){
return $query->where('age',$n);
}
コード中の$queryは、$thisとしても同じ結果が得られます。
$thisではなく、引数$queryを利用する意味は、何かあるのでしょうか?
もしあるのなら、その意味、意義を教えていただけないでしょうか?
よろしくお願いします。
Eloqentのモデルに関してです。
<?php
namespace ---
use ---\Model
class Person extends Model{
public function scopeAgeGreaterThan($query,$n){
return $query->where('age',$n);
}
コード中の$queryは、$thisとしても同じ結果が得られます。
$thisではなく、引数$queryを利用する意味は、何かあるのでしょうか?
もしあるのなら、その意味、意義を教えていただけないでしょうか?
よろしくお願いします。
91デフォルトの名無しさん (ワッチョイ 41f0-uJAn)
2019/01/29(火) 09:22:43.65ID:YbHXkxp70 $thisは自分自身のインスタンスからテーブル情報を取得
$queryはクエリビルダーを使ってテーブル情報を取得
$queryはクエリビルダーを使ってテーブル情報を取得
92デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
2019/01/29(火) 21:20:14.58ID:KhUtNVBn0 ttps://stackoverflow.com/questions/4366730/how-do-i-check-if-a-string-contains-a-specific-word
の5831の回答で、
if (\strpos($a, 'are') !== false) {
の部分ですが、if( の次のスラッシュは何ですか?
の5831の回答で、
if (\strpos($a, 'are') !== false) {
の部分ですが、if( の次のスラッシュは何ですか?
93デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)
2019/01/29(火) 21:54:10.57ID:AnpnZGSz0 そのサイトの下の方では、\ は付いていないから、気にしなくてよいのでは?
<?php
$haystack = 'how are you';
$needle = 'are';
if (strpos($haystack,$needle) !== false) {
echo "$haystack contains $needle";
}
?>
<?php
$haystack = 'how are you';
$needle = 'are';
if (strpos($haystack,$needle) !== false) {
echo "$haystack contains $needle";
}
?>
94デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
2019/01/29(火) 22:00:03.73ID:KhUtNVBn095デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)
2019/01/30(水) 00:01:17.63ID:T9WgAkKs0 Ruby には、偽がnil, false の2つしかないけど、
JavaScript, Python, PHP には、偽が10個ぐらいある
0, 0文字列、空配列とか、様々な可能性が排除できない。
少しでも表現を変えると、バグる
例えば、それをtrue に変えると、様々な偽の条件が存在してしまう。
0 の時とか、空配列とか
他の言語は、Rubyに比べて、バグる確率が高い
JavaScript, Python, PHP には、偽が10個ぐらいある
0, 0文字列、空配列とか、様々な可能性が排除できない。
少しでも表現を変えると、バグる
例えば、それをtrue に変えると、様々な偽の条件が存在してしまう。
0 の時とか、空配列とか
他の言語は、Rubyに比べて、バグる確率が高い
96デフォルトの名無しさん (ワッチョイ 311a-wD8z)
2019/01/30(水) 00:31:11.46ID:Xc33HHDg0 >>94
strposは0を返しうるから if (!strpos(...)) だと false が返ってきた(見つからなかった)のか 0 が返ってきた(先頭に見つかった)のか判別出来ない
http://php.net/manual/ja/function.strpos.php
の返り値の警告の部分
strposは0を返しうるから if (!strpos(...)) だと false が返ってきた(見つからなかった)のか 0 が返ってきた(先頭に見つかった)のか判別出来ない
http://php.net/manual/ja/function.strpos.php
の返り値の警告の部分
9795 (ワッチョイ 2e2c-/4Fh)
2019/01/30(水) 00:54:29.54ID:T9WgAkKs0 Ruby 以外の言語では、
!= など、普通の比較演算子では、偽が10個ぐらいあるから危険!
!== などの厳密比較演算子を使うべし!
!= など、普通の比較演算子では、偽が10個ぐらいあるから危険!
!== などの厳密比較演算子を使うべし!
98デフォルトの名無しさん (ワッチョイ 2ea7-UldQ)
2019/01/30(水) 06:04:31.07ID:Bo5lehOR09998 (ワッチョイ 2ea7-UldQ)
2019/01/30(水) 06:22:12.32ID:Bo5lehOR0 >>92のサイト見てなかったけどおそらく別の名前空間内で使うこと想定して
回答したんだろうね
でも例えばこんなコードでも書かない限りは不要
namespace my;
function strpos(string $haystack, string $needle, int $offset = 0)
{
$retval = \strpos($haystack, $needle, $offset);
if ($retval === false) {
return false;
} else {
return $retval + 1;
}
}
var_dump(\strpos('abcde', 'c'));
var_dump(strpos('abcde', 'c'));
回答したんだろうね
でも例えばこんなコードでも書かない限りは不要
namespace my;
function strpos(string $haystack, string $needle, int $offset = 0)
{
$retval = \strpos($haystack, $needle, $offset);
if ($retval === false) {
return false;
} else {
return $retval + 1;
}
}
var_dump(\strpos('abcde', 'c'));
var_dump(strpos('abcde', 'c'));
100デフォルトの名無しさん (ワッチョイ 6eba-L3L3)
2019/01/30(水) 16:29:27.79ID:/IyzrTjj0 >>95
良く分かりました。
良く分かりました。
101デフォルトの名無しさん (ワッチョイ 6eba-L3L3)
2019/01/30(水) 16:32:02.78ID:/IyzrTjj0 >>99
$retval = \strpos($haystack, $needle, $offset);
これだと、どこかよその名前空間で定義されているstrposと言う意味ですか?
$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
$retval = \strpos($haystack, $needle, $offset);
これだと、どこかよその名前空間で定義されているstrposと言う意味ですか?
$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
102デフォルトの名無しさん (ワッチョイ 2ea7-UldQ)
2019/01/30(水) 22:13:35.19ID:Bo5lehOR0 >>101
>どこかよその名前空間で定義されているstrposと言う意味ですか?
どこかっていうか標準関数のstrposことなんだけど
これはnamespace myで定義しなおした標準関数strposのラッパー関数
もしここで
>$retval = \strpos($haystack, $needle, $offset);
に\をつけないと自身のstrposをさしてしまうので
この関数自体は標準関数のラッパーに過ぎず実装を持たないので正しく動かない
へたしたら再帰処理でループに陥るのと同じ感じになってしまう
>どこかよその名前空間で定義されているstrposと言う意味ですか?
どこかっていうか標準関数のstrposことなんだけど
これはnamespace myで定義しなおした標準関数strposのラッパー関数
もしここで
>$retval = \strpos($haystack, $needle, $offset);
に\をつけないと自身のstrposをさしてしまうので
この関数自体は標準関数のラッパーに過ぎず実装を持たないので正しく動かない
へたしたら再帰処理でループに陥るのと同じ感じになってしまう
103デフォルトの名無しさん (ワッチョイ 2ea7-UldQ)
2019/01/30(水) 22:22:17.50ID:Bo5lehOR0 もう1つの質問に答えてなかった
>$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
>と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
まあそんな理解で大丈夫かと
>$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
>と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
まあそんな理解で大丈夫かと
104デフォルトの名無しさん (ワッチョイ ffba-zj6v)
2019/01/31(木) 13:36:09.97ID:8UUA+SfH0 >>103
ありがとうございます。
もう一つ教えて下さい。
自分で作ったライブラリ関数群は、自分用の名前空間を定義して
例えば、こんな感じで
namespace MyLib{
function myfunc1(){
・・・
};
function myfunc2(){
・・・
};
}
のように、名前空間に入れておくべきですか?
それとも名前空間無しにしておくほうが使い易いですか?
ありがとうございます。
もう一つ教えて下さい。
自分で作ったライブラリ関数群は、自分用の名前空間を定義して
例えば、こんな感じで
namespace MyLib{
function myfunc1(){
・・・
};
function myfunc2(){
・・・
};
}
のように、名前空間に入れておくべきですか?
それとも名前空間無しにしておくほうが使い易いですか?
105デフォルトの名無しさん (アウアウエー Sa7f-Du1s)
2019/01/31(木) 14:50:10.17ID:87rKAAGWa ユーザー定義関数の引数を変数にした時、渡された変数名も同じでいいんですよね?下の様に
でもいろんな説明みると変更してることが多いけどなんで?
function func($hoge){
・・・
}
func($hoge);
でもいろんな説明みると変更してることが多いけどなんで?
function func($hoge){
・・・
}
func($hoge);
106デフォルトの名無しさん (ワッチョイ ff02-zZHK)
2019/01/31(木) 15:28:08.69ID:hjN211+T0 分けて考えてはいけないという誤解を与えないため
107デフォルトの名無しさん (ワッチョイ ffa7-BT/j)
2019/01/31(木) 15:28:24.41ID:rgWv2NOA0 >>104
名前空間を指定しないということは
標準関数や内部クラスと同じグローバルの名前空間(\)に属することになるので
もちろんコーディングする上での利便性はいい
名前空間がPHP5.3から導入されたように昔はなかったわけだし「やりよう」によっては問題にならない
例えば被ってしまってエラー出たら関数名を変えるとか
被る可能性がかぎりなくないような風変わりな関数名をつけるとか
先人がその「やりよう」が面倒だったから導入したんだけど
実際にはよほど巨大なプロジェクトでもない限り問題は起きないと思う
あとは名前空間の概要見て決めたらいいんじゃないかな
http://php.net/manual/ja/language.namespaces.rationale.php
他人に使ってもらうことを考慮するならつけるべきだけどね
名前空間を指定しないということは
標準関数や内部クラスと同じグローバルの名前空間(\)に属することになるので
もちろんコーディングする上での利便性はいい
名前空間がPHP5.3から導入されたように昔はなかったわけだし「やりよう」によっては問題にならない
例えば被ってしまってエラー出たら関数名を変えるとか
被る可能性がかぎりなくないような風変わりな関数名をつけるとか
先人がその「やりよう」が面倒だったから導入したんだけど
実際にはよほど巨大なプロジェクトでもない限り問題は起きないと思う
あとは名前空間の概要見て決めたらいいんじゃないかな
http://php.net/manual/ja/language.namespaces.rationale.php
他人に使ってもらうことを考慮するならつけるべきだけどね
108デフォルトの名無しさん (ワッチョイ ffba-zj6v)
2019/01/31(木) 19:50:03.57ID:8UUA+SfH0 >>107
解説ありがとうございました。
ところで関数にprivateやpublicを付けられるのはclassの中だけですか?
namespaceの中でprivateな関数を定義することは出来ませんか?
つまり、そのnamespaceの中だけで作業する為の関数で、
外部に公開したくない関数です。
解説ありがとうございました。
ところで関数にprivateやpublicを付けられるのはclassの中だけですか?
namespaceの中でprivateな関数を定義することは出来ませんか?
つまり、そのnamespaceの中だけで作業する為の関数で、
外部に公開したくない関数です。
109デフォルトの名無しさん (ワッチョイ 7f89-SDwV)
2019/02/06(水) 14:06:21.85ID:7EDRIJEy0 質問させてください。
配列で「りんご・バナナ・みかん・りんご・みかん・りんご」とあった場合、
これを「りんご1・バナナ1・みかん1・りんご2・みかん2・りんご3」
みたいに同じものが何個目かを書き加えたいのです。
どうやるといいしょうか?
配列で「りんご・バナナ・みかん・りんご・みかん・りんご」とあった場合、
これを「りんご1・バナナ1・みかん1・りんご2・みかん2・りんご3」
みたいに同じものが何個目かを書き加えたいのです。
どうやるといいしょうか?
110デフォルトの名無しさん (ワッチョイ 7f4d-S1Ul)
2019/02/06(水) 22:56:42.64ID:7o71stsH0 $data=array('りんご','バナナ','みかん','りんご','みかん','りんご');
$result=$count=array();
foreach( $data as $key => $value ){
if( isset($count[$value]) ){
++$count[$value];
}else{
$count[$value]=1;
}
$result[$key]=$value.$count[$value];
}
var_dump($result);
$result=$count=array();
foreach( $data as $key => $value ){
if( isset($count[$value]) ){
++$count[$value];
}else{
$count[$value]=1;
}
$result[$key]=$value.$count[$value];
}
var_dump($result);
111デフォルトの名無しさん (ワッチョイ 6ea7-FtKs)
2019/02/07(木) 09:46:48.28ID:zNwO6Ncy0 print_r(array_count_values($data));
でよくないすか?
でよくないすか?
112デフォルトの名無しさん (ワッチョイ 6ea7-FtKs)
2019/02/07(木) 09:47:44.44ID:zNwO6Ncy0 よく質問読んでなかったw
113デフォルトの名無しさん (ワッチョイ 46ca-mZWF)
2019/02/07(木) 11:09:21.09ID:YOzllYWE0 なんで宿題をやってあげちゃうの
114デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/07(木) 12:36:05.22ID:2KroeUTW0 暇だったからでは
115デフォルトの名無しさん (ワッチョイ 2de3-sQyl)
2019/02/07(木) 21:45:05.72ID:EixwHHP40 array_multisort()の配列が多次元だった場合はどこを比較してるの?
$ar[] = array(1);
$ar[] = array(1);
$ar[] = array(2);
$ar[] = array(2);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);
Array
(
[0] => 3
[1] => 4
[2] => 1
[3] => 2
)
----
$ar[] = array(1, 1);
$ar[] = array(1, 2);
$ar[] = array(2, 3);
$ar[] = array(2, 4);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);
Array
(
[0] => 4
[1] => 3
[2] => 2
[3] => 1
)
$ar[] = array(1);
$ar[] = array(1);
$ar[] = array(2);
$ar[] = array(2);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);
Array
(
[0] => 3
[1] => 4
[2] => 1
[3] => 2
)
----
$ar[] = array(1, 1);
$ar[] = array(1, 2);
$ar[] = array(2, 3);
$ar[] = array(2, 4);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);
Array
(
[0] => 4
[1] => 3
[2] => 2
[3] => 1
)
116デフォルトの名無しさん (ワッチョイ 0289-fard)
2019/02/08(金) 00:54:59.90ID:DKnzBuB20117デフォルトの名無しさん (ワッチョイ e101-95g7)
2019/02/08(金) 01:23:31.06ID:1Q4bQ8+M0 phpでスクレイピングした文字列をmysqlのデータベースにInsertしたいのですが、ざっくりどういう風にやればよいでしょうか?
スクレイピング自体は出来ていて、ここからDBに挿入する方法が知りたいです。
よろしくおねがいします。
スクレイピング自体は出来ていて、ここからDBに挿入する方法が知りたいです。
よろしくおねがいします。
118デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/08(金) 08:16:42.39ID:Waqd0NNdr ざっくりいうとINSERTのSQL文を書けばいいんだよ
119デフォルトの名無しさん (オッペケ Srd1-NyVJ)
2019/02/08(金) 11:07:14.81ID:VEywR5okr120デフォルトの名無しさん (ワッチョイ a275-Ctdi)
2019/02/08(金) 16:27:15.56ID:k5rPGxdZ0 サーバー側に数万枚の画像を保存する場合、数万枚を1つのフォルダに入れるのと、10000台、20000台のようにフォルダ分けしたほうがいいですか?
121デフォルトの名無しさん (アウアウカー Sa49-Se4R)
2019/02/08(金) 16:38:40.38ID:j4lUPneda 保存して何するかによるのでは?
122デフォルトの名無しさん (ワッチョイ a275-Ctdi)
2019/02/08(金) 16:57:55.31ID:k5rPGxdZ0 1ページに20件〜50件くらいサムネ表示したり、1ページに数枚表示したり
ネットショップのようなイメージ
ネットショップのようなイメージ
123デフォルトの名無しさん (ワッチョイ fe02-q2E1)
2019/02/08(金) 18:04:35.54ID:1w1isakW0 フォルダ分けするとアクセス時間が短くなる場合が多い
124デフォルトの名無しさん (ワッチョイ 8646-OF6d)
2019/02/08(金) 21:42:22.40ID:jEGlmC9W0 laravel関連の質問をお願いします。4日間前進できてません(汗
laravelのデフォルトのモデルUserと、テーブルusersを使い、ログイン(sign in)認証を行いたいのです。
----- form -------
<form action="***" method="post">
<input type="email" name="email>
<input type="password" name="password">
</form>
---- controller -------
public function post***(Requeat $request){
if(Auth::attempt(['email'=>$request->emai,'password'=>$request->password])
{
XXXXX;
}
ここで、if文のtrueにならず、すべてfalseになります。
Auth::attemptが、usersテーブルを読み込んでないような気がするのですが、
どうしてtrueにならないのか、教えていただけないでしょうか><
どうか、よろしくお願いします。
laravelのデフォルトのモデルUserと、テーブルusersを使い、ログイン(sign in)認証を行いたいのです。
----- form -------
<form action="***" method="post">
<input type="email" name="email>
<input type="password" name="password">
</form>
---- controller -------
public function post***(Requeat $request){
if(Auth::attempt(['email'=>$request->emai,'password'=>$request->password])
{
XXXXX;
}
ここで、if文のtrueにならず、すべてfalseになります。
Auth::attemptが、usersテーブルを読み込んでないような気がするのですが、
どうしてtrueにならないのか、教えていただけないでしょうか><
どうか、よろしくお願いします。
125デフォルトの名無しさん (ワッチョイ 724d-OF6d)
2019/02/08(金) 22:44:50.24ID:SnO1YjyT0 $request->emaiにlが足りて無いとか?
126124 (ワッチョイ 8646-OF6d)
2019/02/09(土) 06:31:09.14ID:3JjKiGqr0 すみません。$request->emailです。
タイプミスはなくても、falseになります。
よろしくお願いします。
タイプミスはなくても、falseになります。
よろしくお願いします。
127デフォルトの名無しさん (ワッチョイ bd5f-DOJB)
2019/02/09(土) 10:15:38.13ID:lpNDR5cs0 他人のホームページを書き換えたいんでつけど
PHP使えば狩野でつか?
PHP使えば狩野でつか?
128デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/09(土) 10:38:25.62ID:LiyCmRY90 その他人が許諾しているなら、その他人に聞け
その他人が許諾していないなら、警察が聞いてくれる
その他人が許諾していないなら、警察が聞いてくれる
129デフォルトの名無しさん (ワッチョイ 02f0-OF6d)
2019/02/09(土) 17:11:10.81ID:kXc/Z+zP0 何を書き換えたいんだろう?
HTML CSS JAVASCRIPT、それともフレームワークに依存?
PHP,CAKE,いろいろあるから、一概になんとも・・・
HTML CSS JAVASCRIPT、それともフレームワークに依存?
PHP,CAKE,いろいろあるから、一概になんとも・・・
130デフォルトの名無しさん (ワッチョイ f988-pY/U)
2019/02/09(土) 18:20:17.39ID:koH3JFsI0 pearのサイトが死んでるんたがなんかあった?
131デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
2019/02/09(土) 18:23:52.81ID:LiyCmRY90 >>130
PEAR server is down
「PEAR公式サイトのウェブサーバー上で改変された『tainted go-pear.phar』と
セキュリティ侵害が発見されました。PEARのウェブサイト自体は無害なクリー
ンサイトを再構築するまで使用不能とします。より詳細な情報はPEARの公式
ブログでチェックしてください」
PEAR server is down
「PEAR公式サイトのウェブサーバー上で改変された『tainted go-pear.phar』と
セキュリティ侵害が発見されました。PEARのウェブサイト自体は無害なクリー
ンサイトを再構築するまで使用不能とします。より詳細な情報はPEARの公式
ブログでチェックしてください」
132デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
2019/02/10(日) 04:09:45.41ID:jBesuRSj0 Python勉強してるの
リストから”取り出す”っていう日本語ってなんか違和感ある
リストから取り出して要素を付け加えると元のリストにも反映されてる
これって取り出すっていう日本語だとイメージ変だよね
なんていうかリストのいち部分をズームアップしてそこだけ見えるようにしたようなイメージのほうがいいきがするの
だって取り出したんだったらいつ元に戻したの?っていうことになるよね?
イメージ的に
たぶん想像だけど元々のリストのメモリ上の位置は全く変わっていなくてずーっとそこにあるから取り出したっていう日本語が変なんだと思うの
リストから”取り出す”っていう日本語ってなんか違和感ある
リストから取り出して要素を付け加えると元のリストにも反映されてる
これって取り出すっていう日本語だとイメージ変だよね
なんていうかリストのいち部分をズームアップしてそこだけ見えるようにしたようなイメージのほうがいいきがするの
だって取り出したんだったらいつ元に戻したの?っていうことになるよね?
イメージ的に
たぶん想像だけど元々のリストのメモリ上の位置は全く変わっていなくてずーっとそこにあるから取り出したっていう日本語が変なんだと思うの
133デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
2019/02/10(日) 04:13:15.33ID:jBesuRSj0 これはリスト=辞書a、辞書b
みたいになってて辞書aをとりだしてそこになにかを付け加えた場合に
元のリストに変更がそのまま反映されることを言ってます
取り出すっていう日本語の操作だといつ元に戻したのっておもうよね?
みたいになってて辞書aをとりだしてそこになにかを付け加えた場合に
元のリストに変更がそのまま反映されることを言ってます
取り出すっていう日本語の操作だといつ元に戻したのっておもうよね?
134デフォルトの名無しさん (ワッチョイ 6ea7-FtKs)
2019/02/10(日) 08:09:11.07ID:4xhMpHOb0 なんかぶっ飛んでる人がいますね
135デフォルトの名無しさん (ワッチョイ 8646-OF6d)
2019/02/10(日) 08:55:31.07ID:t3zAhvOs0 laravelに関する質問お願いします
Auth;;attemptで参照されるテーブルが、どこで定義されているか分かりますか?
Auth;;attemptで参照されるテーブルが、どこで定義されているか分かりますか?
136デフォルトの名無しさん (ワッチョイ e101-iwoU)
2019/02/10(日) 20:03:25.52ID:Bb8eA8KO0 laravelの質問です
コントローラーの関数にフォームリクエストを入れるとPOSTからGETになるんですけど何でですかね?
use App\Http\Requests\fivechRequest;
class fivechContoroller extends Controller
{
public function write_ready() {
return view('write_ready');
}
public function write(fivechRequest $reqest) {
return "helllo world!";
}
}
fivechRequest $reqest
これ入れた途端にGETになってしまう
Route::get('test/bbs.cgi', 'fivechContoroller@write_ready');
Route::post('test/bbs.cgi', 'fivechContoroller@write')
->middleware(fivechMiddleware::class);
コントローラーの関数にフォームリクエストを入れるとPOSTからGETになるんですけど何でですかね?
use App\Http\Requests\fivechRequest;
class fivechContoroller extends Controller
{
public function write_ready() {
return view('write_ready');
}
public function write(fivechRequest $reqest) {
return "helllo world!";
}
}
fivechRequest $reqest
これ入れた途端にGETになってしまう
Route::get('test/bbs.cgi', 'fivechContoroller@write_ready');
Route::post('test/bbs.cgi', 'fivechContoroller@write')
->middleware(fivechMiddleware::class);
137デフォルトの名無しさん (ワッチョイ e101-iwoU)
2019/02/10(日) 20:26:08.90ID:Bb8eA8KO0 public function rules()
{
return [
//'bbs' => 'string|alpha|max:8|required',
//'key' => 'integer|digits:10',
//'subject' => 'string|max:64|required',
//'from' => 'string|max:32',
//'mail' => 'string|max:16',
//'message' => 'string|max:4096|required'
];
}
}
に変更したらPOSTになりました… なんででしょうか?
{
return [
//'bbs' => 'string|alpha|max:8|required',
//'key' => 'integer|digits:10',
//'subject' => 'string|max:64|required',
//'from' => 'string|max:32',
//'mail' => 'string|max:16',
//'message' => 'string|max:4096|required'
];
}
}
に変更したらPOSTになりました… なんででしょうか?
138デフォルトの名無しさん (ワッチョイ e101-feI+)
2019/02/10(日) 22:44:52.33ID:Bb8eA8KO0 勝手にリダイレクトされるのとめる方法ないですかね
139デフォルトの名無しさん (ワッチョイ 8646-OF6d)
2019/02/12(火) 06:18:45.22ID:4rvCbmwy0 ソースをたどっていけば
140デフォルトの名無しさん (アウアウウー Sa05-OF6d)
2019/02/13(水) 15:56:50.06ID:qcwaRdjDa cronで実行しているPHPで不具合が出て調べているのですが、
php.iniでエラーログを指定していない場合、
コマンドラインからPHPを実行した時のエラーログってどこに出るのでしょうか?
apacheで実行した場合はapacheのエラーログに出るようですが
php.iniでエラーログを指定していない場合、
コマンドラインからPHPを実行した時のエラーログってどこに出るのでしょうか?
apacheで実行した場合はapacheのエラーログに出るようですが
141デフォルトの名無しさん (ワッチョイ 9177-feI+)
2019/02/13(水) 17:21:57.25ID:6eI6oeOB0142デフォルトの名無しさん (ワッチョイ 2702-wP4P)
2019/02/16(土) 03:56:24.05ID:p8v5qaF40 質問させていただきます
データベースにセッション保存するようにsessionhandlerinterfaceを作りました
session_set_save_handlerで該当のハンドラを指定したらちゃんとデータベースにも書き込めているのですが
あるサイト上の複数ページで統一的にこのデータベース利用のセッションを使うには
各ページでsession_startの前に毎回ハンドラ指定をする必要があるのでしょうか?
(テストしてみると指定しないとデフォルトのファイル利用のセッションが作られているようでした)
php.iniか何かの編集でそもそもデフォルトをデータベース利用のセッションにするということなしに
上手いやり方があるのであればお教えいただければ幸いです
どうぞよろしくお願いいたします
データベースにセッション保存するようにsessionhandlerinterfaceを作りました
session_set_save_handlerで該当のハンドラを指定したらちゃんとデータベースにも書き込めているのですが
あるサイト上の複数ページで統一的にこのデータベース利用のセッションを使うには
各ページでsession_startの前に毎回ハンドラ指定をする必要があるのでしょうか?
(テストしてみると指定しないとデフォルトのファイル利用のセッションが作られているようでした)
php.iniか何かの編集でそもそもデフォルトをデータベース利用のセッションにするということなしに
上手いやり方があるのであればお教えいただければ幸いです
どうぞよろしくお願いいたします
143デフォルトの名無しさん (ワッチョイ a761-8zyB)
2019/02/17(日) 12:12:25.21ID:vpvr2f070 >>140
cronから実行したプロセスは端末と結びついていないから、リダイレクト指定しなければただ閉じてる。
cronから実行したプロセスは端末と結びついていないから、リダイレクト指定しなければただ閉じてる。
144デフォルトの名無しさん (アウアウウー Sa4b-yQ/S)
2019/02/17(日) 12:22:30.41ID:wSo27DN5a145デフォルトの名無しさん (アウアウウー Sa4b-yQ/S)
2019/02/17(日) 12:23:37.36ID:wSo27DN5a146デフォルトの名無しさん (ワッチョイ 5ff0-cT+3)
2019/02/18(月) 18:19:22.08ID:yhtTsT3P0 laravelに関する質問を受け付けていただけますと幸いです><
今まで使っていたcontroller(app/http/controllers/)が、突然使えなくなりました。
<現象>
上記パスのcontrollerを変更しても反映されない。
上記パスのcontrollerを削除しても、古いcontrollerの設定が生きてて、プログラム自体は従来どおり動く
なにか、他のパスに古いcontrollerが保存されていて、そっちを読んでいるような感じがする
という感じなのですが、何か改善する方法を教えてくださるかた、いらっしゃいませんでしょうか?
今まで使っていたcontroller(app/http/controllers/)が、突然使えなくなりました。
<現象>
上記パスのcontrollerを変更しても反映されない。
上記パスのcontrollerを削除しても、古いcontrollerの設定が生きてて、プログラム自体は従来どおり動く
なにか、他のパスに古いcontrollerが保存されていて、そっちを読んでいるような感じがする
という感じなのですが、何か改善する方法を教えてくださるかた、いらっしゃいませんでしょうか?
147デフォルトの名無しさん (ワッチョイ e73c-cT+3)
2019/02/18(月) 23:59:28.75ID:s6PjmKn40 PHPをFastCGIやmod_phpで常駐させて動作させるとき、最初に一回だけ実行されるコードとリクエストの度に実行されるコードはどうやって区別しますか
CGIモードの時は毎回全てのコードをロードして実行することになると思うんですが、
FastCGIやmod_phpだと予めロード済みの状態のプロセスを待機させてプロセスの起動やコンパイルの実行を省いて高速化していると思っています
例えばpythonのWSGIだと起動時にアプリケーション関数の外側に書いたコードが実行され、その後はリクエストのたびにアプリケーション関数の内部だけ実行されます
--------------------
do_something()
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return 'Hello, world'
--------------------
これと同じようなことはどのように実現しますか
CGIモードの時は毎回全てのコードをロードして実行することになると思うんですが、
FastCGIやmod_phpだと予めロード済みの状態のプロセスを待機させてプロセスの起動やコンパイルの実行を省いて高速化していると思っています
例えばpythonのWSGIだと起動時にアプリケーション関数の外側に書いたコードが実行され、その後はリクエストのたびにアプリケーション関数の内部だけ実行されます
--------------------
do_something()
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/plain')])
return 'Hello, world'
--------------------
これと同じようなことはどのように実現しますか
148デフォルトの名無しさん (ワッチョイ 4714-XSOg)
2019/02/19(火) 17:39:51.40ID:z2WxkWjZ0 親クラスのprotectedプロパティに値を代入する時、
子クラス側にもプロパティを定義するものですか?
コーディングの一般的な作法や、可読性的な話です。
子クラス側にもプロパティを定義するものですか?
コーディングの一般的な作法や、可読性的な話です。
149デフォルトの名無しさん (ワッチョイ 7fa7-8zyB)
2019/02/20(水) 03:09:15.11ID:FK1AOD6X0 >>148
そういうのはドキュメントに出力すればいいと思うけど
PHPDocが面倒なら個人開発程度なら簡易的なものとして
trait ClassInfo {
public static function getClass() {
return Reflection::export(new ReflectionClass(get_called_class()), true);
}
}
親クラスにこんなん入れて必要なときに参照すれば
少しはましになるんではないかと
そういうのはドキュメントに出力すればいいと思うけど
PHPDocが面倒なら個人開発程度なら簡易的なものとして
trait ClassInfo {
public static function getClass() {
return Reflection::export(new ReflectionClass(get_called_class()), true);
}
}
親クラスにこんなん入れて必要なときに参照すれば
少しはましになるんではないかと
150148 (ワッチョイ a514-8eq+)
2019/02/24(日) 02:45:30.45ID:yLdhIKyP0151デフォルトの名無しさん (ワッチョイ d79f-SKB1)
2019/03/05(火) 17:57:17.69ID:J7utTfUg0 "SELECT name FROM table WHERE name = 'hoge'"
これはしっかり結果帰ってくるのに
事前に$hoge = 'hoge'してから
"SELECT name FROM table WHERE name = $hoge"
これだと空になるのなんで
"SELECT name FROM table WHERE name = '$hoge'"
"SELECT name FROM table WHERE name = ".$hoge
とか試したけどダメだったわ;
これはしっかり結果帰ってくるのに
事前に$hoge = 'hoge'してから
"SELECT name FROM table WHERE name = $hoge"
これだと空になるのなんで
"SELECT name FROM table WHERE name = '$hoge'"
"SELECT name FROM table WHERE name = ".$hoge
とか試したけどダメだったわ;
152デフォルトの名無しさん (ワッチョイ ff63-3oSp)
2019/03/05(火) 18:12:06.81ID:/9vlYliD0153デフォルトの名無しさん (ワッチョイ d79f-SKB1)
2019/03/05(火) 18:18:55.25ID:J7utTfUg0 >>152
ダメだった
ダメだった
154デフォルトの名無しさん (ワッチョイ d79f-SKB1)
2019/03/05(火) 18:23:39.10ID:J7utTfUg0 すまん環境の問題だった
155デフォルトの名無しさん (ワッチョイ ff63-3oSp)
2019/03/05(火) 18:24:11.90ID:/9vlYliD0156デフォルトの名無しさん (ワッチョイ ff63-3oSp)
2019/03/05(火) 18:55:38.74ID:/9vlYliD0 解決したようですね、良かったです
157デフォルトの名無しさん (アウアウウー Sa9b-Rc0K)
2019/03/06(水) 13:44:29.53ID:kk7tfKyga >>154
環境とは?
環境とは?
158デフォルトの名無しさん (ワッチョイ ffda-2g28)
2019/03/06(水) 16:10:50.95ID:tl9V0B/R0 PHP: nl2br - Manual
http://www.php.net/manual/ja/function.nl2br.php
string に含まれるすべての改行文字 (\r\n、 \n\r、\n および \r) の前に <br /> あるいは <br> を挿入して返します。
とありますが
\r\nはWindowsのCR+LFだとして、\n\rという改行コードは存在するのでしょうか?
よろしくお願いします
http://www.php.net/manual/ja/function.nl2br.php
string に含まれるすべての改行文字 (\r\n、 \n\r、\n および \r) の前に <br /> あるいは <br> を挿入して返します。
とありますが
\r\nはWindowsのCR+LFだとして、\n\rという改行コードは存在するのでしょうか?
よろしくお願いします
159デフォルトの名無しさん (ワッチョイ 16a7-3PTc)
2019/03/07(木) 03:55:06.79ID:wQ6Vu2No0 改行を\n\rで保存したり取り扱うエディタが存在するかもしれないし
\r\nと勘違いして\n\rとか渡しちゃうかもしれないし
そんな人にも<br><br>と2つにはせずに<br>1つにしてくれる親切設計ってだけでは
\r\nと勘違いして\n\rとか渡しちゃうかもしれないし
そんな人にも<br><br>と2つにはせずに<br>1つにしてくれる親切設計ってだけでは
160デフォルトの名無しさん (ワッチョイ d6da-DZHv)
2019/03/07(木) 08:24:12.22ID:2g7ZW4ya0 めんどくさい
CR絶滅してLFだけで統一してくれればいい
ありがとうございました
CR絶滅してLFだけで統一してくれればいい
ありがとうございました
161デフォルトの名無しさん (ワッチョイ b7ba-/kwh)
2019/03/08(金) 15:30:59.07ID:yu/ETmP20 昔はCRとLFで機能使い分けてたみたいだけど、当時からほぼCR+LFの使い方が主流だったよね?
CRだけ使うなんて、同一行書き換え以外に使い道が思い浮かばない
CRだけ使うなんて、同一行書き換え以外に使い道が思い浮かばない
162デフォルトの名無しさん (ワッチョイ 12f0-/kwh)
2019/03/08(金) 16:47:11.41ID:2GMb9sQS0 laravelの質問なのですが、よろしかったらご教授くださいませ
DBに登録されている性別情報を取得して
view画面のラジオボタンの初期値として、該当する性別をチェック状態にしたいと考えてます。
コントローラー側で、
$profile=['u_sex'=>$xxx->u_sex,***];
$param=['user'=>$user,'profile'=>$profile];
view側のhtmlを
<input type="radio" name="u_sex" value=1 @php ($profile->u_sex) ? 'checked':''>
としたいのですが、
htmlの「@php ($profile->
の > で、<input を閉じてしまってうまく動かせません。
なにか良い方法はありませんか?
DBに登録されている性別情報を取得して
view画面のラジオボタンの初期値として、該当する性別をチェック状態にしたいと考えてます。
コントローラー側で、
$profile=['u_sex'=>$xxx->u_sex,***];
$param=['user'=>$user,'profile'=>$profile];
view側のhtmlを
<input type="radio" name="u_sex" value=1 @php ($profile->u_sex) ? 'checked':''>
としたいのですが、
htmlの「@php ($profile->
の > で、<input を閉じてしまってうまく動かせません。
なにか良い方法はありませんか?
163デフォルトの名無しさん (ガックシ 06de-McIj)
2019/03/08(金) 16:49:42.82ID:Ee+Y4rJr6 >>161
つMacintosh
つMacintosh
164デフォルトの名無しさん (ワッチョイ 624d-/kwh)
2019/03/08(金) 18:05:06.32ID:aqheESZi0165デフォルトの名無しさん (ワッチョイ b7ba-/kwh)
2019/03/08(金) 18:15:43.51ID:yu/ETmP20 >>163
言葉足らずだったね。スマン。
OSによっての解釈の話ではなくて、本来のCR、LFの意味での話。
CRはキャリッジリターン(行頭復帰)、LFはラインフィード(行送り)。
元々タイプライター(テレタイプ)から来てると思うけど、PCにおいてそれぞれ片方だけ
使う事あったのかな?って話。
結局使わないからOSによって都合のいい解釈になったんだろうけど。
まあどうでもいいや。スレチスマン。
言葉足らずだったね。スマン。
OSによっての解釈の話ではなくて、本来のCR、LFの意味での話。
CRはキャリッジリターン(行頭復帰)、LFはラインフィード(行送り)。
元々タイプライター(テレタイプ)から来てると思うけど、PCにおいてそれぞれ片方だけ
使う事あったのかな?って話。
結局使わないからOSによって都合のいい解釈になったんだろうけど。
まあどうでもいいや。スレチスマン。
166デフォルトの名無しさん (ワッチョイ 12a9-ouaW)
2019/03/08(金) 18:32:37.31ID:4NSKE0Lh0 ダウンロードしたソースをapacheで動かしたところ
PHP Strict Standards: Declaration of defaultAuth::useredit() should be compatible with authBase::useredit($user)
このようなエラーが出て該当する部分を見ると
function useredit(&$user,$pwd = false) {
if ($pwd) {
$user['password']=crypt($user['password']);
}
$this->db->update('users',$user,array('id' => $user['id']),$this->userfields);
}
1行目の function useredit(&$user,$pwd = false)
に「&」があるのですが、それを取り除くとエラーが出なくなりますが、
関数の引数の前に & はつけることがあるのでしょうか?
PHP Strict Standards: Declaration of defaultAuth::useredit() should be compatible with authBase::useredit($user)
このようなエラーが出て該当する部分を見ると
function useredit(&$user,$pwd = false) {
if ($pwd) {
$user['password']=crypt($user['password']);
}
$this->db->update('users',$user,array('id' => $user['id']),$this->userfields);
}
1行目の function useredit(&$user,$pwd = false)
に「&」があるのですが、それを取り除くとエラーが出なくなりますが、
関数の引数の前に & はつけることがあるのでしょうか?
167デフォルトの名無しさん (ワッチョイ d2b6-c8k2)
2019/03/08(金) 18:52:21.46ID:b/Kbk3X80 あります
168デフォルトの名無しさん (ワッチョイ 624d-/kwh)
2019/03/08(金) 18:59:00.84ID:aqheESZi0169デフォルトの名無しさん (ワッチョイ 12a9-ouaW)
2019/03/08(金) 19:42:19.86ID:4NSKE0Lh0 >>167-168
ありがとうございます、参照渡しというのがあるのですね。
php 5.4で、参照渡しが無くなったので、エラーが出ていることがわかりました。
&を取っても動いている感じなのですが、とりあえずそれで様子を見たいと思います。
ありがとうございます、参照渡しというのがあるのですね。
php 5.4で、参照渡しが無くなったので、エラーが出ていることがわかりました。
&を取っても動いている感じなのですが、とりあえずそれで様子を見たいと思います。
170デフォルトの名無しさん (ワッチョイ 624d-/kwh)
2019/03/08(金) 21:14:39.94ID:aqheESZi0 >>169
エラーになるのは呼び出し側で&を使った場合
https://ideone.com/qo7ccI
親子でfunctionの定義が異なる場合にDeclaration of...って出る
https://ideone.com/9aCPU1
親子両方で&をつけるか&を取るか一致させればいいんだろうけど、多分&をつけるほうが正解なんじゃないかな?
エラーになるのは呼び出し側で&を使った場合
https://ideone.com/qo7ccI
親子でfunctionの定義が異なる場合にDeclaration of...って出る
https://ideone.com/9aCPU1
親子両方で&をつけるか&を取るか一致させればいいんだろうけど、多分&をつけるほうが正解なんじゃないかな?
171デフォルトの名無しさん (ワッチョイ 12a9-ouaW)
2019/03/09(土) 02:21:59.24ID:BXeyfCeA0 >>170
>多分&をつけるほうが正解なんじゃないかな?
クラスのことは勉強不足でわからないのですが、
class hoge
function useredit($user) {}
を
function useredit(&$user) {}
に変更するとエラーが出なくなりました、
確かに両方で無しか有りにするとエラーが出ないので、どちらが良いかわかりませんが、
これで様子を見たいと思います、ありがとうございました。
>多分&をつけるほうが正解なんじゃないかな?
クラスのことは勉強不足でわからないのですが、
class hoge
function useredit($user) {}
を
function useredit(&$user) {}
に変更するとエラーが出なくなりました、
確かに両方で無しか有りにするとエラーが出ないので、どちらが良いかわかりませんが、
これで様子を見たいと思います、ありがとうございました。
172デフォルトの名無しさん (ワッチョイ de46-/kwh)
2019/03/09(土) 07:23:29.43ID:4+hj1jJB0 >>164
ありがとうございます
そのコードでも、−>の'>'が、<input タグの閉じる>と認識されてしまいます。
どうやってエスケープしていいか、方法が見つからないので、多重配列を避けて記述するようにします。
ありがとうございます
そのコードでも、−>の'>'が、<input タグの閉じる>と認識されてしまいます。
どうやってエスケープしていいか、方法が見つからないので、多重配列を避けて記述するようにします。
173デフォルトの名無しさん (ワッチョイ 16a7-3PTc)
2019/03/09(土) 19:56:15.94ID:0WxXuN2u0 自分もbladeは知らないが
> htmlの「@php ($profile->
> の > で、<input を閉じてしまってうまく動かせません。
これはどうやって判断したの?
出力されるコードが
<input type="radio" name="u_sex" value=1 @php ($profile->
あるいはコードが変換されずにそのまんま
<input type="radio" name="u_sex" value=1 @php ($profile->u_sex) ? 'checked':''>
になってるの?
それともそこでエラーが出てて自分でそこが原因だと思ってるってこと?
> htmlの「@php ($profile->
> の > で、<input を閉じてしまってうまく動かせません。
これはどうやって判断したの?
出力されるコードが
<input type="radio" name="u_sex" value=1 @php ($profile->
あるいはコードが変換されずにそのまんま
<input type="radio" name="u_sex" value=1 @php ($profile->u_sex) ? 'checked':''>
になってるの?
それともそこでエラーが出てて自分でそこが原因だと思ってるってこと?
174デフォルトの名無しさん (ワッチョイ de46-/kwh)
2019/03/09(土) 22:30:58.51ID:4+hj1jJB0 予期せぬ > というエラーです
タグ内で@phpを使い、変数で判定することは避けて
タグの外で判定するようにしました。
色々ご指導ありがとうございました。
タグ内で@phpを使い、変数で判定することは避けて
タグの外で判定するようにしました。
色々ご指導ありがとうございました。
175デフォルトの名無しさん (ワッチョイ 16a7-3PTc)
2019/03/10(日) 05:33:43.02ID:y6AdK4wp0 syntaxエラーかね
コード見る限りobjectにキャストしてない連想配列を
アロー演算子使って参照してるから
エラー起きてるのかと思ったけどそういうわけではなさそうか
よくよく見ると>>162はどこまでがPHPか判定できなさそうだな
普通のPHPだと下のようになるが
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''>>
最後にいれるべき>が1つかけてる感じ
調べてみたら@endphpがあるようだからそれ使えば良さそう?
説明見る限りプレーンなPHP実行でechoしない感じがするから
<input type="radio" name="u_sex" value=1 @php echo ($profile->u_sex) ? 'checked' : '' @endphp>
これで一応>>162の閉じてなさそう問題は解決するけど
明白にとじてる>>164が動かないとなると
@php-@endphpや@if-@endifは1行じゃ無理とか
行頭に書かないといけないとかあるのかもしれない
コード見る限りobjectにキャストしてない連想配列を
アロー演算子使って参照してるから
エラー起きてるのかと思ったけどそういうわけではなさそうか
よくよく見ると>>162はどこまでがPHPか判定できなさそうだな
普通のPHPだと下のようになるが
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''>>
最後にいれるべき>が1つかけてる感じ
調べてみたら@endphpがあるようだからそれ使えば良さそう?
説明見る限りプレーンなPHP実行でechoしない感じがするから
<input type="radio" name="u_sex" value=1 @php echo ($profile->u_sex) ? 'checked' : '' @endphp>
これで一応>>162の閉じてなさそう問題は解決するけど
明白にとじてる>>164が動かないとなると
@php-@endphpや@if-@endifは1行じゃ無理とか
行頭に書かないといけないとかあるのかもしれない
176175 (ワッチョイ 16a7-3PTc)
2019/03/10(日) 05:35:39.36ID:y6AdK4wp0 ちょっとミス
> 普通のPHPだと下のようになるが
> <input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''>>
↓
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''?>>
> 普通のPHPだと下のようになるが
> <input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''>>
↓
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''?>>
177デフォルトの名無しさん (ワッチョイ de46-/kwh)
2019/03/10(日) 08:21:41.87ID:dKY2ENzw0 >>175
先生、本当にありがとうございます。
@endphpは記載忘れですが、実際には記載してます。
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''?>>
でも同じエラーが出てましたので、他の解決策が必要のようです。
コード的には
<?php
if($profile->u_sex==1){
echo '<input type="radio" name="u_sex" value=1 checked="checked">';
}
と修正したものを使うようにしました。
コードが1行で綺麗に書けないのが残念でした。
本当ありがとうございました!
先生、本当にありがとうございます。
@endphpは記載忘れですが、実際には記載してます。
<input type="radio" name="u_sex" value=1 <?= ($profile->u_sex) ? 'checked':''?>>
でも同じエラーが出てましたので、他の解決策が必要のようです。
コード的には
<?php
if($profile->u_sex==1){
echo '<input type="radio" name="u_sex" value=1 checked="checked">';
}
と修正したものを使うようにしました。
コードが1行で綺麗に書けないのが残念でした。
本当ありがとうございました!
178デフォルトの名無しさん (ワッチョイ ef1f-FfYY)
2019/03/12(火) 21:16:05.10ID:fInyw+wI0 phpからローカルのexeとかシェル叩けますか?
179デフォルトの名無しさん (ワッチョイ ef1f-FfYY)
2019/03/12(火) 21:17:44.08ID:fInyw+wI0 あ、apacheのWebサーバで動くphpのことです
180デフォルトの名無しさん (ワッチョイ c602-aMwB)
2019/03/13(水) 10:25:19.40ID:AVj94jZX0 exec()
181デフォルトの名無しさん (ワッチョイ c602-aMwB)
2019/03/13(水) 13:06:28.48ID:AVj94jZX0 WEBサーバに数十ミリ秒ごとにアクセスして、命令が出てる時はブラウザがスクリプトを実行する仕組みが今風らしい
182デフォルトの名無しさん (ワッチョイ 1663-/kwh)
2019/03/13(水) 17:39:55.13ID:2dJ2nxIw0 これだけ解釈に幅があるんだなw
183デフォルトの名無しさん (ワッチョイ 137d-td6u)
2019/03/15(金) 10:45:15.54ID:+YXguzLt0 質問させてください
ファイルを開く
処理1
ファイルを閉じる
ファイルを開く
処理2
ファイルを閉じる
というようなコードを書いたんですが、
ファイルを開く
処理1
処理2
ファイルを閉じる
に変えた方がいいですか?
懸念としてはファイルを開くという処理そのものが処理速度的に重いのであまり繰り返すのはよくないかな?と
1と2を分けた理由は一つにまとめると処理が複雑になって可読性が低くなってしまったからです
お力添えよろしくお願いします
ファイルを開く
処理1
ファイルを閉じる
ファイルを開く
処理2
ファイルを閉じる
というようなコードを書いたんですが、
ファイルを開く
処理1
処理2
ファイルを閉じる
に変えた方がいいですか?
懸念としてはファイルを開くという処理そのものが処理速度的に重いのであまり繰り返すのはよくないかな?と
1と2を分けた理由は一つにまとめると処理が複雑になって可読性が低くなってしまったからです
お力添えよろしくお願いします
184デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
2019/03/15(金) 16:36:34.12ID:9yz/tpkK0 >>183
素人的な考えだけど、ファイルを開くとファイルを閉じるを二回もしてるから
一回で済ますことができるならまとめたほうがいいかもだしなんで開くと閉じるを2回もしてるの?理由があるの?とかいわれるだろうし
素人的な考えだけど、ファイルを開くとファイルを閉じるを二回もしてるから
一回で済ますことができるならまとめたほうがいいかもだしなんで開くと閉じるを2回もしてるの?理由があるの?とかいわれるだろうし
185デフォルトの名無しさん (ワッチョイ cf63-kdx8)
2019/03/15(金) 16:52:05.57ID:t0fouEo60 ファイルに対する操作が追記なのか、それともランダムアクセスによる更新なのか
ファイルのサイズがどの位なのか、
処理1と処理2は独立した内容なのか、それとも順序性があり、処理1が完了する前提が必要なのか
などなど色々条件がありそうだけど、
乱暴に言ってしまうけど、ファイル操作なんて大して重たい処理ではないと思う
ファイルのサイズがどの位なのか、
処理1と処理2は独立した内容なのか、それとも順序性があり、処理1が完了する前提が必要なのか
などなど色々条件がありそうだけど、
乱暴に言ってしまうけど、ファイル操作なんて大して重たい処理ではないと思う
186デフォルトの名無しさん (ワッチョイ 137d-td6u)
2019/03/15(金) 17:11:16.81ID:+YXguzLt0187デフォルトの名無しさん (ワッチョイ cf63-kdx8)
2019/03/15(金) 17:18:10.78ID:t0fouEo60 正確に言えば、PHPが動作している環境次第
ストレージの性能が良いなら殆ど気にする必要が無いだろうし
扱うファイルがとても大きいならファイル操作はそれなりの時間が掛かる
示された条件だと、この程度の一般的な見解しか出てこないと思う
ストレージの性能が良いなら殆ど気にする必要が無いだろうし
扱うファイルがとても大きいならファイル操作はそれなりの時間が掛かる
示された条件だと、この程度の一般的な見解しか出てこないと思う
188デフォルトの名無しさん (ワッチョイ cf63-kdx8)
2019/03/15(金) 17:23:40.16ID:t0fouEo60 処理の開始時間と終了時間を記録し、
処理の違いでどの程度変わるかを見てみれば良いと思う
自分の予測だと、殆ど誤差でしかないと思う
処理の違いでどの程度変わるかを見てみれば良いと思う
自分の予測だと、殆ど誤差でしかないと思う
189デフォルトの名無しさん (ワッチョイ 137d-td6u)
2019/03/15(金) 17:54:38.04ID:+YXguzLt0190デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
2019/03/15(金) 18:02:24.87ID:9yz/tpkK0 phpのセッションとかでセッションの中身が1の時はAのページ成型、セッションの中身が2の時はBのページの成型、セッションの中身が3の時なら中身を1にしてAのページにって作られてた時に
ブラウザのクロームとかの履歴では全部同一のページと認識されて上書きされるの?前のページ内で書かれてたものも全部上書きされるのか?
ブラウザのクロームとかの履歴では全部同一のページと認識されて上書きされるの?前のページ内で書かれてたものも全部上書きされるのか?
191デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
2019/03/15(金) 21:21:03.69ID:L+hp7qbL0 Ruby では、小さいサイズで、読み込みだけなら、
File.read, readlines で、一気に全部読み込んで閉じる
処理は、その後に行う
読み込んで書き戻すのなら、処理中もファイルを開いておくかも知れないけど、
そうするとその間、排他制御で、そのファイルはロックされる
File.read, readlines で、一気に全部読み込んで閉じる
処理は、その後に行う
読み込んで書き戻すのなら、処理中もファイルを開いておくかも知れないけど、
そうするとその間、排他制御で、そのファイルはロックされる
192デフォルトの名無しさん (ワッチョイ fff0-kdx8)
2019/03/19(火) 12:27:22.14ID:DBfAR41T0 laravelなのですが、よろしかったら教えてください。
ローカルに作成したサイトのindex.に接続すると、
geolocationで位置情報を取得するようにしたいのですが
アクセス先がlocalhost:8000/indexの場合には位置情報が取得できるのですが
実機を使うために、IPアドレスでアクセスできるように
php artisan serve --host 192.166.13.102と設定すると
開発しているPCや、実機でアクセスしても、geolocationが使えなくなります。
実機でローカルサイトにアクセスして、geolocationが使えるようにするには
どうしたらいいのでしょうか?
ローカルに作成したサイトのindex.に接続すると、
geolocationで位置情報を取得するようにしたいのですが
アクセス先がlocalhost:8000/indexの場合には位置情報が取得できるのですが
実機を使うために、IPアドレスでアクセスできるように
php artisan serve --host 192.166.13.102と設定すると
開発しているPCや、実機でアクセスしても、geolocationが使えなくなります。
実機でローカルサイトにアクセスして、geolocationが使えるようにするには
どうしたらいいのでしょうか?
193デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
2019/03/19(火) 13:20:28.75ID:rDiaexLE0 エスケープ処理のために$clean[$key] = htmlspecialchars( $value, ENT_QUOTES);でしてるんだけど
<や>が変換されないでそのまま表示されちゃってるんだけどちゃんと変換できてないの?それとも書き方が悪い?誰か教えて
<や>が変換されないでそのまま表示されちゃってるんだけどちゃんと変換できてないの?それとも書き方が悪い?誰か教えて
194デフォルトの名無しさん (アウアウカー Sa47-linS)
2019/03/19(火) 15:46:05.54ID:70wn5si7a >>193
そのまま表示されるのが正しい動作じゃないの?
そのまま表示されるのが正しい動作じゃないの?
195デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
2019/03/19(火) 15:46:13.95ID:rDiaexLE0 >>193
$valueの中身を忘れてた
$value = <script type='text/javascript'> location.href='http://www.yahoo.co.jp'; </script>;
これで
$valueの中身を忘れてた
$value = <script type='text/javascript'> location.href='http://www.yahoo.co.jp'; </script>;
これで
196デフォルトの名無しさん (アウアウエー Sadf-NXHq)
2019/03/19(火) 18:54:10.34ID:mQ/pmFPua 魔改造感半端ないな
197デフォルトの名無しさん (ワッチョイ e31f-pUlw)
2019/03/19(火) 21:37:27.82ID:uCH5q9Xf0 何でVisualStudioみたいにGUIで開発できないんですか?
198デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
2019/03/19(火) 23:59:06.58ID:rDiaexLE0 >>194
でもサニタイズしたはずなのにphpでフォームにJavascriptの$valueの中身入れるて飛ぶとYahooに飛んじゃってるんだよなIEで確認したから間違いないけど
でもサニタイズしたはずなのにphpでフォームにJavascriptの$valueの中身入れるて飛ぶとYahooに飛んじゃってるんだよなIEで確認したから間違いないけど
199デフォルトの名無しさん (ワッチョイ cfa7-YxN5)
2019/03/20(水) 00:02:34.03ID:UM8alzkY0 どうせブラウザのソース表示してみたら&lt;&gt;になってるとかいうオチだろ
200デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
2019/03/20(水) 00:56:07.42ID:RdYQnT9u0 それは、タグ内の属性じゃん!
そこは、要素内の内容部分じゃないよ!
そこは、要素内の内容部分じゃないよ!
201デフォルトの名無しさん (ワッチョイ cfda-h1+v)
2019/03/20(水) 18:33:53.86ID:DvYG4dOj0 PHPやたったことないんだけど、どういう風に起動してるのか俺に簡単に説明してくれない?
cgi(まあperlとしよう)だと、ブラウザがhttpdにリクエストして、cgi(perl)を起動する。
httpdは標準出力(まあたぶんhtml)を受け取り、それを必要なら加工/整形(主にヘッダー) してブラウザに出力する。
phpはどこで誰からリクエストを受けてどうやって動いて、誰に何を出力してんの?
そしてcgiとは何が違うの?
とりあえず、cgi(perl)と違うのは、常駐して起動してるから速いんだよ、ってのは聞いたけど、それ以上は分からない。
そのへんを分かりやすく俺に教えてやってくれ
お願いします
cgi(まあperlとしよう)だと、ブラウザがhttpdにリクエストして、cgi(perl)を起動する。
httpdは標準出力(まあたぶんhtml)を受け取り、それを必要なら加工/整形(主にヘッダー) してブラウザに出力する。
phpはどこで誰からリクエストを受けてどうやって動いて、誰に何を出力してんの?
そしてcgiとは何が違うの?
とりあえず、cgi(perl)と違うのは、常駐して起動してるから速いんだよ、ってのは聞いたけど、それ以上は分からない。
そのへんを分かりやすく俺に教えてやってくれ
お願いします
202デフォルトの名無しさん (ワッチョイ 8f02-MWYG)
2019/03/20(水) 20:16:45.35ID:G66GdUMN0 phpはcgiモードとmoduleモードがあって
cgiは呼び出し式
moduleモードは常駐式
受け取ったデータの処理の流れは一般的なcgiと同じでhttpd経由
常駐だから早いのも確かにそうだけど、標準機能のみで色々できるから、機能を都度importしない事も速さの主因
まあそれはちょっとhttpdとの関連性からは離れている話ですね
cgiは呼び出し式
moduleモードは常駐式
受け取ったデータの処理の流れは一般的なcgiと同じでhttpd経由
常駐だから早いのも確かにそうだけど、標準機能のみで色々できるから、機能を都度importしない事も速さの主因
まあそれはちょっとhttpdとの関連性からは離れている話ですね
203デフォルトの名無しさん (ワッチョイ cfda-h1+v)
2019/03/20(水) 21:25:54.44ID:DvYG4dOj0 >>202
わかったありがとう!
cgiモードとmoduleモードの選択ってのは、どこで誰(どのプログラム)が判断して決めるの?
php自身がmoduleモードで動いていて、httpdがmoduleモードで動いてるphpに対してのアクセス方法を知っているってこと?
わかったありがとう!
cgiモードとmoduleモードの選択ってのは、どこで誰(どのプログラム)が判断して決めるの?
php自身がmoduleモードで動いていて、httpdがmoduleモードで動いてるphpに対してのアクセス方法を知っているってこと?
204デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
2019/03/20(水) 21:57:05.35ID:RdYQnT9u0 .exe, .dll の違い。
例えば、sqlite3.exe, sqlite3.dll の違い
CGI は、.exe と同じ。
別プロセスを起動するから、その起動時間が掛かる
.dll は、そのプログラム(プロセス)内にライブラリを読み込むだけ。
別プロセスを起動していない
例えば、sqlite3.exe, sqlite3.dll の違い
CGI は、.exe と同じ。
別プロセスを起動するから、その起動時間が掛かる
.dll は、そのプログラム(プロセス)内にライブラリを読み込むだけ。
別プロセスを起動していない
205204 (ワッチョイ cf2c-Of+3)
2019/03/20(水) 22:02:24.68ID:RdYQnT9u0 Ruby, PHP, Perl などのCGI では、
httpd が別プロセスを起動して、結果を取得して、プロセスを終了させる
毎回この起動・終了に、時間が掛かるから、
起動しっ放しというモードもある
httpd が別プロセスを起動して、結果を取得して、プロセスを終了させる
毎回この起動・終了に、時間が掛かるから、
起動しっ放しというモードもある
206デフォルトの名無しさん (ワッチョイ cfda-h1+v)
2019/03/20(水) 22:07:48.21ID:DvYG4dOj0207デフォルトの名無しさん (ワッチョイ b301-dgXV)
2019/03/21(木) 09:03:31.33ID:PB8+T8io0 https://i.imgur.com/QB190U9.jpg
このプログラム実行して、43行目にphp Array to string conversion inっていうエラーが出る。ググッて見たけど分からん。
このプログラム実行して、43行目にphp Array to string conversion inっていうエラーが出る。ググッて見たけど分からん。
208デフォルトの名無しさん (ワッチョイ 5a4d-0zLl)
2019/03/21(木) 11:43:04.25ID:5nRGGgZs0 ループ足りないような
30行目のarray_chunkで$imagesは配列の配列になる
http://php.net/manual/ja/function.array-chunk.php
42行目で$imgは配列
43行目で配列($img)をechoしようとしてる
foreachを追加して2重ループにすればいいんじゃないか
30行目のarray_chunkで$imagesは配列の配列になる
http://php.net/manual/ja/function.array-chunk.php
42行目で$imgは配列
43行目で配列($img)をechoしようとしてる
foreachを追加して2重ループにすればいいんじゃないか
209デフォルトの名無しさん (ブーイモ MM4f-SFJA)
2019/03/21(木) 14:43:45.53ID:lAqh1JQYM $images が文字列の配列の配列なんだから$images[$page]が文字列の配列
$imgは文字列だろ
$imgは文字列だろ
210デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
2019/03/21(木) 15:03:48.50ID:mQ6nyU1M0 >>207
とりあえず43行目あたりで print_r($img); とかやってみたら
とりあえず43行目あたりで print_r($img); とかやってみたら
211デフォルトの名無しさん (ワッチョイ b301-dgXV)
2019/03/21(木) 15:36:27.39ID:PB8+T8io0 解決しました!ありがとうございます
212208 (ワッチョイ 5a4d-0zLl)
2019/03/21(木) 16:30:56.90ID:5nRGGgZs0213デフォルトの名無しさん (ワッチョイ c68c-SbEy)
2019/03/21(木) 18:32:18.31ID:QCgCURXL0214デフォルトの名無しさん (ワッチョイ b301-JcKA)
2019/03/21(木) 19:26:17.36ID:iAqXNI0+0 質問です。
htmlソースをinclude等で読み込む際、そのソースの途中に追記する事ってできますでしょうか?
読み込むソース
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>
↓
includeする時にこうしたい
<div>1行目</div>
<p>追記</p>
<div>2行目</div>
<div>3行目</div>
htmlソースをinclude等で読み込む際、そのソースの途中に追記する事ってできますでしょうか?
読み込むソース
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>
↓
includeする時にこうしたい
<div>1行目</div>
<p>追記</p>
<div>2行目</div>
<div>3行目</div>
215デフォルトの名無しさん (ワッチョイ de63-0zLl)
2019/03/21(木) 21:00:02.45ID:QKEEZEuZ0 $text = "<p>追記</p>";
<div>1行目</div>
<?php echo $text."\n" ?>
<div>2行目</div>
<div>3行目</div>
とか
<div>1行目</div>
<?= $text ?>
<div>2行目</div>
<div>3行目</div>
とか
<div>1行目</div>
<?php echo $text."\n" ?>
<div>2行目</div>
<div>3行目</div>
とか
<div>1行目</div>
<?= $text ?>
<div>2行目</div>
<div>3行目</div>
とか
216デフォルトの名無しさん (ワッチョイ de2c-ZSTg)
2019/03/21(木) 21:19:06.65ID:ZeSQsBE10 Ruby, JavaScript にもある、部分テンプレートを読み込む、partial file の機能だろ。
PHP のフレームワークにもあるはず
一般的には、header, footer などの各部分は、別ファイルにして読み込んで使う
PHP のフレームワークにもあるはず
一般的には、header, footer などの各部分は、別ファイルにして読み込んで使う
217デフォルトの名無しさん (ワッチョイ b301-JcKA)
2019/03/22(金) 00:15:37.10ID:j6KcVv1w0 >>215
すいません質問の仕方が悪かったです。
読み込む側のページでのみ関数みたいに個別で追記をしたいんです。
読み込まれる側のファイルにURL判別とかの細工でもしないと無理ですかね・・?
jQueryでいう、.loadしたソースにコールバックで.insertAfter();を走らせるイメージです。
すいません質問の仕方が悪かったです。
読み込む側のページでのみ関数みたいに個別で追記をしたいんです。
読み込まれる側のファイルにURL判別とかの細工でもしないと無理ですかね・・?
jQueryでいう、.loadしたソースにコールバックで.insertAfter();を走らせるイメージです。
218デフォルトの名無しさん (ワッチョイ b301-JcKA)
2019/03/22(金) 00:18:51.61ID:j6KcVv1w0219デフォルトの名無しさん (ワッチョイ dea7-9VoM)
2019/03/24(日) 03:24:20.66ID:u71/GScf0 include/requireは関数じゃないので返り値としてソースを受け取れないから
そのinclude/requireしたファイル内で追記してどうこうってのは無理
file_get_contentsみたいの使ってメモリにロードすれば可能
そこでロードしたソースをいじればいい
PHP標準のDOMパーサーは非常に使いづらいので正規表現がお手軽
細かい関数の使い方は調べてもらうにして
#tmpl.inc
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>
#a.php
<?php
$src = file_get_contents('tmpl.inc');
〜
a.phpでどうしてもinclude/requireしたものをとっておきたいならラップして
#a.php
<?php
require 'tmpl.inc';
#b.php
<?php
$src = file_get_contents('a.php');
〜
そのinclude/requireしたファイル内で追記してどうこうってのは無理
file_get_contentsみたいの使ってメモリにロードすれば可能
そこでロードしたソースをいじればいい
PHP標準のDOMパーサーは非常に使いづらいので正規表現がお手軽
細かい関数の使い方は調べてもらうにして
#tmpl.inc
<div>1行目</div>
<div>2行目</div>
<div>3行目</div>
#a.php
<?php
$src = file_get_contents('tmpl.inc');
〜
a.phpでどうしてもinclude/requireしたものをとっておきたいならラップして
#a.php
<?php
require 'tmpl.inc';
#b.php
<?php
$src = file_get_contents('a.php');
〜
220デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
2019/03/24(日) 12:20:19.94ID:cA6CskBI0 >>219
a.php や b.php のくだりがよく分からんが、
ob_start();
include 'tmpl.inc';
$contents = ob_get_contents();
ob_end_clean();
とやる方が手っ取り早いんじゃね。
a.php や b.php のくだりがよく分からんが、
ob_start();
include 'tmpl.inc';
$contents = ob_get_contents();
ob_end_clean();
とやる方が手っ取り早いんじゃね。
221デフォルトの名無しさん (ワッチョイ 1b77-rXtv)
2019/03/24(日) 13:02:43.00ID:3sTzwWJg0 ちゃんとやるならTwigとかを使うべきやな
222デフォルトの名無しさん (ワッチョイ b301-DTGA)
2019/03/24(日) 17:37:53.78ID:VT2RwePW0223デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
2019/03/24(日) 18:04:06.12ID:cA6CskBI0 >>222
http経由の file_get_contents なら >>219 の b.php は tmpl.inc の内容(が require で処理されたもの)が得られるけど、多分そのままやってもローカルの a.php のソース自体が得られるだけだと思うからきちんと実験した方がいいよ。
>>220 のやり方は例えばメールの文面なんかを別ファイル化したりといろいろ使い道があるよ。
mail.inc を
お問い合わせありがとうございます
<?=$date;?>に<?=$name;?>からのお問い合わせを受け付けました。
受付番号は <?=$no;?> です。
みたいに書いておいて >>220 のやり方で mail.inc を include すると、変数が当て込まれた形で $contents として得られる。
これを
list($subject, $body) = explode("¥n", $contents, 2);
とやってタイトルと本文に分離してメールを送るとかね。
$date とか $name なんかの変数は include してるスコープから見えるように設定しておく。
http経由の file_get_contents なら >>219 の b.php は tmpl.inc の内容(が require で処理されたもの)が得られるけど、多分そのままやってもローカルの a.php のソース自体が得られるだけだと思うからきちんと実験した方がいいよ。
>>220 のやり方は例えばメールの文面なんかを別ファイル化したりといろいろ使い道があるよ。
mail.inc を
お問い合わせありがとうございます
<?=$date;?>に<?=$name;?>からのお問い合わせを受け付けました。
受付番号は <?=$no;?> です。
みたいに書いておいて >>220 のやり方で mail.inc を include すると、変数が当て込まれた形で $contents として得られる。
これを
list($subject, $body) = explode("¥n", $contents, 2);
とやってタイトルと本文に分離してメールを送るとかね。
$date とか $name なんかの変数は include してるスコープから見えるように設定しておく。
224デフォルトの名無しさん (ワッチョイ b301-DTGA)
2019/03/24(日) 22:28:41.20ID:VT2RwePW0225デフォルトの名無しさん (ワッチョイ caf0-0zLl)
2019/03/25(月) 17:56:02.49ID:IkNYQuI20 $paramに連想配列を格納して、foreachで取り出そうとしてるんですけど
先頭要素のキーが取り出せず、先頭要素の値から取り出し始めてしまうのですが
そういう挙動に詳しい人いらっしゃいますか?
先頭要素のキーが取り出せず、先頭要素の値から取り出し始めてしまうのですが
そういう挙動に詳しい人いらっしゃいますか?
226デフォルトの名無しさん (ワントンキン MM3a-eSm3)
2019/03/25(月) 19:54:37.41ID:oLRasqjYM foreach ($array as $key => $value)
にして、$keyにアクセスしてる?
にして、$keyにアクセスしてる?
227デフォルトの名無しさん (ワッチョイ c646-0zLl)
2019/03/26(火) 06:30:51.59ID:3VVyorUw0 してます
var_dumpで配列を吐き出すと、しっかり吐き出せるんですけどね
こんなんで時間かかってしまって泣きですわ
var_dumpで配列を吐き出すと、しっかり吐き出せるんですけどね
こんなんで時間かかってしまって泣きですわ
228デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
2019/03/26(火) 08:52:30.14ID:rW+qOQwv0 >>227
array_keys を使うとどうなる?
array_keys を使うとどうなる?
229デフォルトの名無しさん (ワッチョイ caf0-0zLl)
2019/03/26(火) 11:55:41.39ID:muIRcyXB0 ありがとう
コード丸まる書き換えました
コード丸まる書き換えました
230デフォルトの名無しさん (ワンミングク MM3a-6IZb)
2019/03/27(水) 06:16:05.76ID:935VNAcgM いいの?それでw
気になるわぁ
再現コードあれば欲しい
気になるわぁ
再現コードあれば欲しい
231デフォルトの名無しさん (ワッチョイ c646-0zLl)
2019/03/27(水) 07:02:12.26ID:LqjZ6KSp0 初めて聞く症状だけれど
var_dumpで確認できている配列データなら
foreachで取り出せないわけないので
見間違いとか、スクリプトやタグのせいで消えてしまっているとか別の要因なんでしょ
var_dumpで確認できている配列データなら
foreachで取り出せないわけないので
見間違いとか、スクリプトやタグのせいで消えてしまっているとか別の要因なんでしょ
232デフォルトの名無しさん (ワッチョイ 06ca-qfZi)
2019/03/27(水) 07:22:24.12ID:yj3g7joz0 だなぁ
>>226 のコードで最初のキーが取り出せず値から取れちゃうというのが、$key と $value に具体的に何が入ってるということなのか分からんな。
言葉通りに捉えれば $key に最初の要素の値が入ってるんだろうが、んじゃ $value には何が入ってるの?みたいな。
>>226 のコードで最初のキーが取り出せず値から取れちゃうというのが、$key と $value に具体的に何が入ってるということなのか分からんな。
言葉通りに捉えれば $key に最初の要素の値が入ってるんだろうが、んじゃ $value には何が入ってるの?みたいな。
233デフォルトの名無しさん (ワッチョイ 9fa9-ZTi4)
2019/03/29(金) 19:38:19.41ID:DzAWjPl30 centos7でphp72をremiで入れた場合、
# php
-bash: php: コマンドが見つかりません
を解消するための、正しいシンボリックリンクの張り方ってどこに作ってどこへ向けるのが正解?
/usr/binに作るのか、
パスが通っていればどこでも良いのか、迷ってます。
インストールしたときは
# cd /bin/ ; ll | grep php
php72 -> /opt/remi/php72/root/usr/bin/php
となっています。
# php
-bash: php: コマンドが見つかりません
を解消するための、正しいシンボリックリンクの張り方ってどこに作ってどこへ向けるのが正解?
/usr/binに作るのか、
パスが通っていればどこでも良いのか、迷ってます。
インストールしたときは
# cd /bin/ ; ll | grep php
php72 -> /opt/remi/php72/root/usr/bin/php
となっています。
234デフォルトの名無しさん (ワッチョイ 8b77-9gjM)
2019/03/30(土) 01:29:36.74ID:Ae//lPdG0 >>233
ちゃんとphp-cli入れてるか?
ちゃんとphp-cli入れてるか?
235デフォルトの名無しさん (ワッチョイ 9fa9-ZTi4)
2019/03/30(土) 01:45:18.36ID:3vDAxa540 >>234
はい、入ってますが、phpは宙ぶらりんな状態になっていますので、毎回シンボリックは張る物だと思っていました。
# yum list | grep php72 | grep cli
php72-php-cli.x86_64 7.2.16-1.el7.remi @remi-safe
# which php
/usr/bin/which: no php in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# which php72
/bin/php72
はい、入ってますが、phpは宙ぶらりんな状態になっていますので、毎回シンボリックは張る物だと思っていました。
# yum list | grep php72 | grep cli
php72-php-cli.x86_64 7.2.16-1.el7.remi @remi-safe
# which php
/usr/bin/which: no php in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# which php72
/bin/php72
236デフォルトの名無しさん (ワッチョイ 8b77-9gjM)
2019/03/30(土) 02:01:04.87ID:Ae//lPdG0237デフォルトの名無しさん (ワッチョイ efad-zf8N)
2019/04/01(月) 02:47:56.82ID:6Qmf1LuG0 lineボット作ろうとしてるけど
curl_initが使えない
curl_initが使えない
238デフォルトの名無しさん (ワッチョイ 0f2c-injD)
2019/04/01(月) 09:14:31.30ID:ymg/4x830 参考までに、Windows 10・WSL・Ubuntu 16.04 で、python の、symbolic link は、
/usr/bin$ file python
python: symbolic link to python2.7
/usr/bin$ file python3
python3: symbolic link to python3.5
/usr/bin$ file python
python: symbolic link to python2.7
/usr/bin$ file python3
python3: symbolic link to python3.5
239デフォルトの名無しさん (アメ MM8f-Dmdl)
2019/04/01(月) 12:30:46.03ID:vaN0OZHPM まったく参考になりませんでした。
240デフォルトの名無しさん (ワッチョイ 0fa7-ycr5)
2019/04/02(火) 07:05:50.55ID:d+tMH0Y20241デフォルトの名無しさん (ワッチョイ ef8c-2SEu)
2019/04/03(水) 00:39:50.63ID:GW0S4nvD0 https://paiza.io/projects/Y3C9zPiRd6JDBPMpQLZx2w?language=php
こういう連想配列の中に配列入れてた時に特定の取得したいときはどうすればいい?
こういう連想配列の中に配列入れてた時に特定の取得したいときはどうすればいい?
242デフォルトの名無しさん (ワッチョイ 0f2c-injD)
2019/04/03(水) 01:37:44.24ID:4XO/CSdW0 Windows 10では、バージョン1803(Windows 10 April 2018 Update)で、
curlコマンドが、標準コマンドとして追加された。
ただし、Linux のcurl とは挙動が異なるかも知れない??
コマンドプロンプトで、where curl とすると、
C:\Windows\System32\curl.exe
PowerShell にも、curl というalias がある。
こちらの実体は、Invoke-WebRequest。
こちらよりも、curl.exe を使った方がよいかも
PowerShellで、gal -name curl とすると、
curl -> Invoke-WebRequest
curlコマンドが、標準コマンドとして追加された。
ただし、Linux のcurl とは挙動が異なるかも知れない??
コマンドプロンプトで、where curl とすると、
C:\Windows\System32\curl.exe
PowerShell にも、curl というalias がある。
こちらの実体は、Invoke-WebRequest。
こちらよりも、curl.exe を使った方がよいかも
PowerShellで、gal -name curl とすると、
curl -> Invoke-WebRequest
243デフォルトの名無しさん (スフッ Sdbf-zf8N)
2019/04/03(水) 13:15:08.75ID:H4sG9A7Rd244デフォルトの名無しさん (ワッチョイ 9ff0-r4m/)
2019/04/03(水) 14:20:29.53ID:zicRLWLY0 質問させてください。よろしくお願いします。
DBはsqliteというのを使っています。
DBは、user_name : 都道府県 :というカラムがあります。DB件数は1000件で、ランダムで生成しています。
formページで、都道府県を入力すると、$form_prefという変数に入力値を格納し、
DBへは、where('都道府県','$form_pref)で検索すると、検索結果は0になります。
また、where('都道府県','東京')で検索すると、検索結果は正しく検索されます。
where句で、変数によって検索をかけると、正しく検索されないのはなぜなのでしょうか?
DBはsqliteというのを使っています。
DBは、user_name : 都道府県 :というカラムがあります。DB件数は1000件で、ランダムで生成しています。
formページで、都道府県を入力すると、$form_prefという変数に入力値を格納し、
DBへは、where('都道府県','$form_pref)で検索すると、検索結果は0になります。
また、where('都道府県','東京')で検索すると、検索結果は正しく検索されます。
where句で、変数によって検索をかけると、正しく検索されないのはなぜなのでしょうか?
245デフォルトの名無しさん (オッペケ Sr4f-Xesi)
2019/04/03(水) 14:46:17.53ID:57e5+lwMr246デフォルトの名無しさん (アウアウエー Sa3f-RkGr)
2019/04/03(水) 17:15:35.24ID:CuyxcMNZa PHP8でJIT
247デフォルトの名無しさん (ワッチョイ 4f02-KqOg)
2019/04/03(水) 17:16:53.55ID:r4klkqBe0 '
248デフォルトの名無しさん (ワッチョイ 9ff0-r4m/)
2019/04/03(水) 17:46:29.42ID:zicRLWLY0249デフォルトの名無しさん (ワッチョイ 0f63-r4m/)
2019/04/03(水) 17:52:22.54ID:ZmtTnpp/0250デフォルトの名無しさん (ワッチョイ 4f89-ZTi4)
2019/04/03(水) 22:39:33.33ID:qlQFDRbn0 特定のフォルダ内にjpgファイルが1枚でもあるか確認する良い方法なにかありますか?
251デフォルトの名無しさん (アウアウエー Sa3f-RkGr)
2019/04/03(水) 23:10:33.79ID:cKVyKni5a direcoryiteratoriteratorでリスト取得してforeach
252デフォルトの名無しさん (ワッチョイ c6ca-YOD9)
2019/04/04(木) 01:25:57.77ID:hUbHMIpd0 glob
253デフォルトの名無しさん (ワッチョイ 0646-k8NZ)
2019/04/04(木) 07:19:16.27ID:2Mcvpa6R0254デフォルトの名無しさん (ワッチョイ be89-BZhk)
2019/04/04(木) 10:06:27.24ID:AiNrhaZA0 リストを全部取得するのではなく、jpgがあった時点でtrueを返す方法ってありますか?
数が多いファイルが含まれると遅くなってしまいました。
数が多いファイルが含まれると遅くなってしまいました。
255デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/04(木) 10:22:52.98ID:F6RY7aLA0 dbでファイル情報管理すりゃいい
index化みたいな
index化みたいな
256デフォルトの名無しさん (ワッチョイ c6ad-I1WO)
2019/04/04(木) 10:30:53.37ID:kJslP6Nd0257デフォルトの名無しさん (ワッチョイ c6ad-I1WO)
2019/04/04(木) 10:36:26.67ID:kJslP6Nd0 個人的にはjsonが好き
258デフォルトの名無しさん (ワッチョイ 7d02-w1lf)
2019/04/04(木) 10:41:50.32ID:l5IgkZnr0259デフォルトの名無しさん (ワッチョイ be89-BZhk)
2019/04/04(木) 11:20:51.83ID:AiNrhaZA0 全取得してからしか調べられないようなのでglobを使っていきます。
ありがとうございました。
ありがとうございました。
260デフォルトの名無しさん (ワッチョイ ee63-k8NZ)
2019/04/04(木) 11:24:22.32ID:8cxX9aNp0 ls *.jpg 2>/dev/null | wc -l
261デフォルトの名無しさん (オイコラミネオ MMe9-YOD9)
2019/04/04(木) 12:56:58.43ID:Rdj6YsTrM >>254
jpgかどうかに関係なくファイルの多いディレクトリというだけで遅くなるからあきらめろ。
jpgかどうかに関係なくファイルの多いディレクトリというだけで遅くなるからあきらめろ。
262デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/04(木) 15:38:52.96ID:j78mKFJX0 PHP始めるけどどんな環境がいいの?
IDEは多分vscode使いたい
Pythonだとインポートサジェストがvscodeにはまだないけどphpは大丈夫?
それとPythonで言うanacondaみたいなものはあるの?
鉄板とかあるの?
IDEは多分vscode使いたい
Pythonだとインポートサジェストがvscodeにはまだないけどphpは大丈夫?
それとPythonで言うanacondaみたいなものはあるの?
鉄板とかあるの?
263デフォルトの名無しさん (ワッチョイ 8d42-BZhk)
2019/04/04(木) 21:26:26.31ID:OS5/cJ9r0 xampp
264デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/04(木) 21:28:02.75ID:c7BBV/ypM >>262
マルチ死ね
マルチ死ね
265デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/05(金) 10:24:35.32ID:0lUjLeBK0 色々と調べてみるとザンプにしますか?Dockerにしますか?って感じなんだな
やっぱりLinux上でやらないと駄目かな?出来るだけ仕事現場でそのまま使えるテクノロジーで学びたいんだけど
やっぱりLinux上でやらないと駄目かな?出来るだけ仕事現場でそのまま使えるテクノロジーで学びたいんだけど
266デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/05(金) 12:02:19.00ID:0lUjLeBK0267デフォルトの名無しさん (スップ Sd02-TtNY)
2019/04/05(金) 12:29:53.49ID:TOzxK/5gd 今どきサーバの知識とかいらなくね?
LaravelとかRailsは内蔵されてるし
Xamppとかいらんわ
LaravelとかRailsは内蔵されてるし
Xamppとかいらんわ
268デフォルトの名無しさん (ワッチョイ eeb0-f5Ac)
2019/04/05(金) 12:47:45.34ID:x0YMrYHD0 このスレはXAMPP派が多いらしい
開発環境ならビルトインサーバで十分だしCI環境ならDockerだろうと思うのだがねぇ
開発環境ならビルトインサーバで十分だしCI環境ならDockerだろうと思うのだがねぇ
269デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/05(金) 12:52:11.17ID:0lUjLeBK0 >>267
違う板で未経験から働きたいならlpicとってサーバーをある程度理解してる事をアピールしたほうが良いとアドバイスされたんだよね
まぁ取ってなくても早いうちに転職活動したほうがいいとも言われたけど
違う板で未経験から働きたいならlpicとってサーバーをある程度理解してる事をアピールしたほうが良いとアドバイスされたんだよね
まぁ取ってなくても早いうちに転職活動したほうがいいとも言われたけど
270デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/05(金) 13:06:58.84ID:RkNgF4tA0 Pythonが出来る風な口調だけど
なんでわざわざ就職考えるのにPHPなんて始めるんだっちゅう
なんでわざわざ就職考えるのにPHPなんて始めるんだっちゅう
271デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/05(金) 13:47:55.69ID:0lUjLeBK0 Pythonの求人って全然ないよ?
272デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/05(金) 14:33:47.22ID:RkNgF4tA0 なんでそうやってしれーっと嘘つくんだよ
indeedで東京エリアでPHPで検索して15000件
Pythonで検索して10000件だぞ
indeedで東京エリアでPHPで検索して15000件
Pythonで検索して10000件だぞ
273デフォルトの名無しさん (スップ Sd02-TtNY)
2019/04/05(金) 15:31:48.12ID:Lpo8mNdId それSES会社がテキトーに検索ワード盛ってるだけだろ
求人量ならJava、PHPの足元にも及ばんぞPythonとかRubyって
質は高いと思うけど
求人量ならJava、PHPの足元にも及ばんぞPythonとかRubyって
質は高いと思うけど
274デフォルトの名無しさん (ワッチョイ b901-7xOg)
2019/04/05(金) 16:34:16.70ID:0lUjLeBK0 ついでに言うと東京に行く気はないわ
275デフォルトの名無しさん (ワッチョイ b901-7+iI)
2019/04/05(金) 21:01:42.24ID:8A68roIQ0 PHPのエディタ、今までAtomを使ってて、VScodeも気になるんだけどどう?
276デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/05(金) 21:02:27.86ID:RkNgF4tA0 いやいや
今スタートアップはほとんどPythonだから
今スタートアップはほとんどPythonだから
277デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/05(金) 21:12:50.65ID:RkNgF4tA0 Atomよりはだいぶ軽いし動作は軽快
使い勝手もほぼ一緒
まあしょせんエディタだけども
使い勝手もほぼ一緒
まあしょせんエディタだけども
278デフォルトの名無しさん (ワッチョイ e50b-TIc0)
2019/04/05(金) 21:54:48.30ID:OvXPdzic0 Atom重い。VScodeがいいぞ。
279デフォルトの名無しさん (ワッチョイ 511f-YqGz)
2019/04/05(金) 22:15:14.08ID:72+SeKx30 だよなVSだよな
280デフォルトの名無しさん (オッペケ Sr91-Raum)
2019/04/05(金) 23:37:00.69ID:PMv6rz9+r マカーはVSコードなど使わないからな
もちろんGithubも使わねえ
もちろんGithubも使わねえ
281デフォルトの名無しさん (ワッチョイ ee2c-f03p)
2019/04/05(金) 23:44:48.07ID:xPcsbeSU0 PHP は多いけど、低価格っぽい。
多さの順は、COBOL > Ruby > Python
Ruby は、Vagrant, Chef など、サーバー管理構築運用の仕事もあるから、
OS をよく知っている印象が強い
多さの順は、COBOL > Ruby > Python
Ruby は、Vagrant, Chef など、サーバー管理構築運用の仕事もあるから、
OS をよく知っている印象が強い
282デフォルトの名無しさん (ワッチョイ ee63-k8NZ)
2019/04/05(金) 23:56:13.53ID:FzdQrB750 Perlは?(震え声)
283デフォルトの名無しさん (ワッチョイ ee2c-f03p)
2019/04/05(金) 23:58:38.98ID:xPcsbeSU0 >>266
今はLPIC じゃなくて、LinuC。
OS の機能やサーバー管理構築運用なら、Vagrant, Chef などで使われている、Ruby がお勧め。
こういうシェルスクリプトの代替機能を、面倒なPython で学ぶ必要はない!
先に、Rails よりも、Sinatra をいじくりまわせ!
YouTube に、雑食系エンジニアのKENTA の動画がある。
転職者は、見ておくべき。
PHP は、転職での評価が低い
KENTA 自身は、Ruby にそっくりな関数型言語、
Elixir のフレームワークで、ポートフォリオを作ったらしい。
ここまで行くと、年収1千万超!
今はLPIC じゃなくて、LinuC。
OS の機能やサーバー管理構築運用なら、Vagrant, Chef などで使われている、Ruby がお勧め。
こういうシェルスクリプトの代替機能を、面倒なPython で学ぶ必要はない!
先に、Rails よりも、Sinatra をいじくりまわせ!
YouTube に、雑食系エンジニアのKENTA の動画がある。
転職者は、見ておくべき。
PHP は、転職での評価が低い
KENTA 自身は、Ruby にそっくりな関数型言語、
Elixir のフレームワークで、ポートフォリオを作ったらしい。
ここまで行くと、年収1千万超!
284デフォルトの名無しさん (オッペケ Sr91-Raum)
2019/04/06(土) 00:24:48.26ID:uCKV04Asr phpで年収1800万の俺にくらべたら下じゃん
285283 (ワッチョイ ee2c-f03p)
2019/04/06(土) 01:23:26.51ID:f7FNE/du0 Rails は、年収3千万円超のハーバード大学でも、教えているほど!
プログラマーなんて、年収が1/5 ぐらいになるのに、なぜ教えるのか、わからないw
プログラマーなんて、年収が1/5 ぐらいになるのに、なぜ教えるのか、わからないw
286デフォルトの名無しさん (オッペケ Sr91-YqGz)
2019/04/06(土) 05:01:41.65ID:22mucI93r OSのコマンドアプリやシェルをラップする事務員向けWebGUIみたいなのできますか?
287デフォルトの名無しさん (スップ Sd02-TtNY)
2019/04/06(土) 05:09:54.95ID:tnKohzU7d KENTAって人の動画をマジで信じてる人いてビビったわ
技術を煽って自分のオンラインサロンに入らせる典型的な不安ビジネスやってる人じゃん
あとあの人のポートフォリオ見たらわかるけどHelloWorldレベルのことしかやってないぞ
技術を煽って自分のオンラインサロンに入らせる典型的な不安ビジネスやってる人じゃん
あとあの人のポートフォリオ見たらわかるけどHelloWorldレベルのことしかやってないぞ
288デフォルトの名無しさん (ワッチョイ eea7-iE/E)
2019/04/06(土) 06:20:24.71ID:n41jBgHa0 Ruby推しにろくな人間はおらんのや
289283 (ワッチョイ ee2c-f03p)
2019/04/06(土) 08:22:38.32ID:f7FNE/du0 KENTA の言ってる事は、おおむね正しい。
また、Ruby から、Elixir までやっているから、てっきりトップ・エンジニアだと思っていた
>>286
Ruby なら、`〜` で囲むと、コマンドも実行できる。
puts `ls | wc -l`
1-liner なら、
ruby -e 'puts `ls | wc -l`'
だから、OS の機能や、サーバー管理構築運用のVagrant, Chef などで、Rubyが使われている
PowerShell コマンドも呼べる。
例えば、クリップボードを取得する
puts `powershell Get-Clipboard`
1-liner なら、
ruby -e 'puts `powershell Get-Clipboard`'
また、Ruby から、Elixir までやっているから、てっきりトップ・エンジニアだと思っていた
>>286
Ruby なら、`〜` で囲むと、コマンドも実行できる。
puts `ls | wc -l`
1-liner なら、
ruby -e 'puts `ls | wc -l`'
だから、OS の機能や、サーバー管理構築運用のVagrant, Chef などで、Rubyが使われている
PowerShell コマンドも呼べる。
例えば、クリップボードを取得する
puts `powershell Get-Clipboard`
1-liner なら、
ruby -e 'puts `powershell Get-Clipboard`'
290デフォルトの名無しさん (ワッチョイ b901-7+iI)
2019/04/06(土) 12:01:46.77ID:I7rc3KX60 >>287
kwsk
kwsk
291デフォルトの名無しさん (ワッチョイ e54e-3NqX)
2019/04/06(土) 18:25:21.69ID:weoUXr5W0 ターミナルで
ruby -e 'puts `ls | wc -l`'
なんて打ってる奴いたらクビにするわw
ruby -e 'puts `ls | wc -l`'
なんて打ってる奴いたらクビにするわw
292デフォルトの名無しさん (ワッチョイ 85da-KJrz)
2019/04/06(土) 20:44:27.91ID:luFKN00U0 このスレなら 「PukiWikiから○○に移行したよ」って人もいそうなのでお聞きします。
いま時の 小規模向けWiki でオススメのがあったら教えてください。 PHPベースでなくても構いません。
昔 PukiWiki で個人的なメモを管理してたんですが もう何年もご無沙汰しています。
いま時の 小規模向けWiki でオススメのがあったら教えてください。 PHPベースでなくても構いません。
昔 PukiWiki で個人的なメモを管理してたんですが もう何年もご無沙汰しています。
293デフォルトの名無しさん (ワッチョイ 4901-Fply)
2019/04/11(木) 04:36:20.03ID:yaNFrze20 ローカルでしかPHP触ったことないんだけどネットに繋ぐ場合ってどんな方法ある?サーバーを借りるの以外で
294デフォルトの名無しさん (ワッチョイ b91f-deI0)
2019/04/11(木) 04:50:28.27ID:Dck3yL7h0 ?
295デフォルトの名無しさん (ワッチョイ 1301-81T8)
2019/04/11(木) 04:55:24.76ID:FfVS6eCx0 >>293
ローカルのPCをインターネット側からアクセス可能なサーバにするとか。
ローカルのPCをインターネット側からアクセス可能なサーバにするとか。
296デフォルトの名無しさん (ワッチョイ 4901-Fply)
2019/04/11(木) 09:55:10.52ID:w1EtGven0297デフォルトの名無しさん (ワッチョイ 8b63-clLQ)
2019/04/11(木) 10:27:24.01ID:GF1IL3KP0 そのPCだけではなくルーターの設定も変えないと
298デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/11(木) 10:42:29.96ID:GR4ezT/uM そういう開発ニーズに応えたソフトあった気がする…
299デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/11(木) 11:16:41.08ID:GR4ezT/uM 思い…出した!ngrokだ。flywheelでも採用されてたツール。
300デフォルトの名無しさん (ワッチョイ 4901-Fply)
2019/04/11(木) 13:36:11.50ID:vSJqsCex0 面接のポートフォリオで動いてるとこ見せたい場合1番簡単な方法って何がある?
GitHubとかに上げても動いてるとこは見れないよね
GitHubとかに上げても動いてるとこは見れないよね
301さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sd33-8Mjg)
2019/04/11(木) 14:00:08.37ID:8je0Y1Lmd >>300
動画なら通信環境があれば見せられるんじゃね?
動画なら通信環境があれば見せられるんじゃね?
302デフォルトの名無しさん (ワッチョイ 4901-Fply)
2019/04/11(木) 14:36:54.31ID:1s3wCd4l0303デフォルトの名無しさん (ワッチョイ 0b82-3VJR)
2019/04/11(木) 18:37:47.44ID:ucvbVgLJ0 ファイルアップロードフォームを作って、
iPhoneから写真や動画をアップロードして、
$_Filesからファイル名を取り出すと、
6CCC151C-DF3B-486F-8C97-AA06485047BD.jpeg
こんな感じの文字列になってしまいます。
元はIMG_0000.jpgのような名称だと思います。
iPhoneからの場合はどうすれば、正しい名称になるんでしょうか?
iPhoneから写真や動画をアップロードして、
$_Filesからファイル名を取り出すと、
6CCC151C-DF3B-486F-8C97-AA06485047BD.jpeg
こんな感じの文字列になってしまいます。
元はIMG_0000.jpgのような名称だと思います。
iPhoneからの場合はどうすれば、正しい名称になるんでしょうか?
304デフォルトの名無しさん (ワッチョイ 41b4-deI0)
2019/04/11(木) 19:07:45.95ID:ZpA9hK1A0 phpはフロント専任だな…
305デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
2019/04/11(木) 22:38:53.56ID:ScFKV4yk0 phpでデータベースのカラムに寿命付けるのってどうすれば出来る?
takashiが一時ログインしたらタカシのデータを24時間で削除したいんやけど…
セッションやクッキーに保存するのは何か駄目な気がして。。
takashiが一時ログインしたらタカシのデータを24時間で削除したいんやけど…
セッションやクッキーに保存するのは何か駄目な気がして。。
306デフォルトの名無しさん (ワッチョイ 8b63-clLQ)
2019/04/11(木) 22:45:31.86ID:GF1IL3KP0 cron使って定期的にアップデートかけるってのは
307デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
2019/04/11(木) 22:57:43.87ID:ScFKV4yk0 >>306
登録した時間によって削除の時間が変わったりせんかな…
なんつーか個別にイベントを発行する感じにしたいんや。
一時的に登録して登録から24時間立ったら削除するみたいな。cron使う頭いいやり方があるなら知りてえ
登録した時間によって削除の時間が変わったりせんかな…
なんつーか個別にイベントを発行する感じにしたいんや。
一時的に登録して登録から24時間立ったら削除するみたいな。cron使う頭いいやり方があるなら知りてえ
308デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
2019/04/11(木) 23:00:29.30ID:ScFKV4yk0 >>307
あっそうか。それをcronで判定すればいいのか。アホやな俺
あっそうか。それをcronで判定すればいいのか。アホやな俺
309デフォルトの名無しさん (ワッチョイ b3bd-0Hjf)
2019/04/11(木) 23:03:22.14ID:ScFKV4yk0 >>306
ありがとう😊
ありがとう😊
310デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/12(金) 04:28:30.68ID:WO5SLys30311デフォルトの名無しさん (ワッチョイ b91f-deI0)
2019/04/12(金) 04:53:44.93ID:cg9pp3DB0 バッチ処理ですな
312デフォルトの名無しさん (ワッチョイ 1301-81T8)
2019/04/12(金) 09:30:52.80ID:43Lr2rro0 >>311
手動でもバッチ処理と言うよ。
手動でもバッチ処理と言うよ。
313デフォルトの名無しさん (ワッチョイ 0b07-2loy)
2019/04/12(金) 15:57:53.38ID:DpwHJL1Z0 $array = ['name'=>'ななし','age'=>'20','sex=>'男']
という配列があるとして、
$array = ['member_name'=>'ななし','member_age'=>'20','member_sex=>'男']
と、キーにmember_を追加する方法を模索しています。
foreachで代入し直す以外に、簡単な方法はありますでしょうか?
という配列があるとして、
$array = ['member_name'=>'ななし','member_age'=>'20','member_sex=>'男']
と、キーにmember_を追加する方法を模索しています。
foreachで代入し直す以外に、簡単な方法はありますでしょうか?
314デフォルトの名無しさん (アウアウウー Sa5d-hh84)
2019/04/12(金) 18:10:06.99ID:zC61PQSSa >>313
PHPの配列は原則的にハッシュマップだからそういう操作は想定してない
PHPの配列は原則的にハッシュマップだからそういう操作は想定してない
315デフォルトの名無しさん (アウアウエー Sae3-6TAD)
2019/04/12(金) 23:41:15.74ID:8ZS6XE5Oa $array = [
member_name => $array[name],
...
];
member_name => $array[name],
...
];
316デフォルトの名無しさん (アウアウエー Sae3-6TAD)
2019/04/13(土) 00:00:28.74ID:ukoM+IiZa $array = array_combine(array_map(function($v){
return 'member_'.$v;
} ,array_keys($array)), $array);
テストしてないけどforeachのが早そう
return 'member_'.$v;
} ,array_keys($array)), $array);
テストしてないけどforeachのが早そう
317デフォルトの名無しさん (ワッチョイ 8ba7-La48)
2019/04/13(土) 07:55:50.84ID:s3ds+7dN0 $array = (function($old){
foreach ($old as $k => $v) $new['member_'.$k] = $v;
return $new;
})($array);
foreachつかってかーさい
foreach ($old as $k => $v) $new['member_'.$k] = $v;
return $new;
})($array);
foreachつかってかーさい
318デフォルトの名無しさん (ワッチョイ 0bda-pBLJ)
2019/04/13(土) 08:13:54.42ID:07mRS5hZ0 正規表現で、\w と [0-9A-Za-z] とで、どちらが早いとかありますか?
小文字アルファベットだけでいい時に、[a-z] と \w のどちらも指定できるとしたら、どちらが早いでしょうか?
小文字アルファベットだけでいい時に、[a-z] と \w のどちらも指定できるとしたら、どちらが早いでしょうか?
319デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/13(土) 08:22:34.83ID:blG/UTRx0 単に1つずつ、動的に辞書に追加してるだけだろ
結局、1つずつ、すべてを追加するだけの処理
結局、1つずつ、すべてを追加するだけの処理
320313 (ワッチョイ 0b07-2loy)
2019/04/13(土) 14:50:04.75ID:CAZxfgWw0321デフォルトの名無しさん (ワッチョイ 7bca-wDUi)
2019/04/13(土) 15:52:33.56ID:eJqYG1GJ0 >>318
やってみればいいじゃん
やってみればいいじゃん
322デフォルトの名無しさん (スップ Sd73-elAG)
2019/04/13(土) 20:00:30.39ID:PdzG1dGCd PHP実務で最低限知ってればいいことって何かありますか?
323デフォルトの名無しさん (ワッチョイ d91f-DImV)
2019/04/13(土) 21:44:34.11ID:ZDNzNkLB0 なにゆえ変数の頭に必ず$がつくのでしょうか
324デフォルトの名無しさん (ワッチョイ 8b63-clLQ)
2019/04/13(土) 22:29:04.70ID:6xQqtfoW0 $付けるのは、昔からのしきたり
325デフォルトの名無しさん (ワッチョイ 8bb0-hh84)
2019/04/14(日) 00:12:51.92ID:fjVzHTTb0 Perlの遺伝子の名残
326デフォルトの名無しさん (ワッチョイ 413c-clLQ)
2019/04/14(日) 15:04:49.97ID:fAGeAUaU0 @とか%も付けよう
327デフォルトの名無しさん (ワッチョイ 8ba7-La48)
2019/04/14(日) 21:06:14.97ID:Y/6wcZ7O0 @(0%0)←なぜかエラーが出る
なんつって
なんつって
328デフォルトの名無しさん (ワッチョイ fbda-XGqV)
2019/04/15(月) 22:27:24.57ID:SVQji9la0 $はshiftを押さないと書けないから書きにくい
329デフォルトの名無しさん (ワッチョイ 29ba-clLQ)
2019/04/17(水) 16:08:37.78ID:NJiBcQWA0 GETとかPOSTではfilter_inputを使えという話ですが、$_SERVERを扱うときは例外で旧来通り
直接アクセスが基本ですか?
さくらサーバーでは云々という情報が引っかかるのですが。
直接アクセスが基本ですか?
さくらサーバーでは云々という情報が引っかかるのですが。
330デフォルトの名無しさん (オイコラミネオ MM55-wDUi)
2019/04/17(水) 16:15:23.17ID:mg3EeLZxM filter_inputにこだわる必要なんて無いよ。
331デフォルトの名無しさん (ワッチョイ 29ba-clLQ)
2019/04/17(水) 16:51:05.27ID:NJiBcQWA0 分かりました。ありがとうございます。
332デフォルトの名無しさん (アウアウエー Sada-mRez)
2019/04/18(木) 00:00:01.59ID:cnp/FoA8a 誰かが途中でいじってない保証はないけどな
333デフォルトの名無しさん (ワッチョイ 5ea7-8I1V)
2019/04/18(木) 00:26:01.11ID:6IoWj+aJ0 環境変数が改ざんされてたら
もうfilter_inputどうこうの次元じゃないけどな
もうfilter_inputどうこうの次元じゃないけどな
334デフォルトの名無しさん (ワッチョイ b1ba-JNgg)
2019/04/18(木) 22:54:48.32ID:Q7jAWv/D0 例えばCで以下のようなdefineをPHPで実現するにはどうすればいいでしょうか?
#define errlog(msg) ErrorLog(__FILE__, __LINE__, msg)
初歩的ですみません。
#define errlog(msg) ErrorLog(__FILE__, __LINE__, msg)
初歩的ですみません。
335デフォルトの名無しさん (アウアウエー Sada-mRez)
2019/04/19(金) 00:46:34.22ID:lWnHrGLea get_error_last()
336デフォルトの名無しさん (ワッチョイ a91f-Cj9k)
2019/04/19(金) 00:49:22.10ID:S92APKW+0 phpさらっと勉強したのですが
具体的にphpで作られてるウェブサイトで、phpを公開してる奴ってありませんかね?
勉強のために見てみたいです
具体的にphpで作られてるウェブサイトで、phpを公開してる奴ってありませんかね?
勉強のために見てみたいです
337デフォルトの名無しさん (ワッチョイ f6ca-olrf)
2019/04/19(金) 01:06:16.70ID:bzbXvXi80 wordpress
338デフォルトの名無しさん (ワッチョイ 0db4-gS4L)
2019/04/19(金) 06:12:27.66ID:CQvpYnEX0 WebDBアプリでソース公開されているものないですか?
デザインパターンとかも学びたいです
デザインパターンとかも学びたいです
339デフォルトの名無しさん (ササクッテロル Sp79-Br+Y)
2019/04/19(金) 13:16:13.03ID:Rb5u/z0hp 学校の課題でHTMLでHP作ってるんだけどwin10のパソコンで書いたやつを学校PC(win7)で開くと文字化けするんだがどうすればいいのか教えてくれ
340デフォルトの名無しさん (ササクッテロル Sp79-Br+Y)
2019/04/19(金) 13:19:25.89ID:Rb5u/z0hp https://i.imgur.com/8QFDaAE.jpg
こんな感じで書いた
こんな感じで書いた
341デフォルトの名無しさん (オッペケ Sr79-kqL6)
2019/04/19(金) 13:41:03.84ID:7RHvbYhAr Windows7はサポート外だからすてろ
342さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/19(金) 14:42:39.28ID:KhPbBDNPd >>340
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の
343デフォルトの名無しさん (ブーイモ MMd5-wZci)
2019/04/19(金) 15:47:12.43ID:ih/g4VJWM URLですが.../と打ち込んだ場合
...というファイルにアクセスするのですか?
...というファイルにアクセスするのですか?
344さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/19(金) 16:35:39.59ID:Y4E9vn3W0 >>343
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。
345デフォルトの名無しさん (アメ MMd5-DUFY)
2019/04/19(金) 17:59:38.21ID:er92Du55M 一つ上の男はどのように書き表しますか?
346デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/20(土) 09:38:04.02ID:EzpoiD680 ガイアが俺にもっと輝けと囁いている
347デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/20(土) 13:44:38.61ID:EzpoiD680 >>339
Dreamweaverで修正できるぞ
Dreamweaverで修正できるぞ
348デフォルトの名無しさん (アウアウカー Sab1-v9Kr)
2019/04/20(土) 17:06:43.02ID:nmBhveLxa >>339
PHPなのか?
PHPなのか?
349デフォルトの名無しさん (スププ Sdb2-XV4o)
2019/04/20(土) 17:10:50.63ID:46SaaHhXd350デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/21(日) 00:22:00.24ID:Aeq/r6ow0 小学生のプログラム教材見たけど、
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな?
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな?
351デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
2019/04/21(日) 06:43:46.32ID:i48F5tCc0352デフォルトの名無しさん (ワッチョイ f6ad-Eh39)
2019/04/21(日) 06:46:56.90ID:i48F5tCc0 >>350
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね
micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね
micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った
353デフォルトの名無しさん (ワッチョイ 8101-hooH)
2019/04/21(日) 08:13:48.42ID:Aeq/r6ow0 >>352
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな
354デフォルトの名無しさん (ワッチョイ d91f-gS4L)
2019/04/21(日) 12:58:09.77ID:g2z5hubB0 まあphpとか仕事にしてるような奴らは仕事なくなるだろな
355デフォルトの名無しさん (ワッチョイ b6da-wZci)
2019/04/21(日) 19:56:01.27ID:0JlZuQqp0 >>349
...というファイル名を参照したよ
...というファイル名を参照したよ
356デフォルトの名無しさん (スフッ Sdb2-XV4o)
2019/04/21(日) 22:05:37.01ID:jRd0U4G2d357デフォルトの名無しさん (ワッチョイ 9eff-nFeC)
2019/04/24(水) 18:35:41.45ID:AdJPrH9y0 PHPでradioにチェックマークを付けたい場合、下記は間違ってますか?
<input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
$HEN['AAA']は確実に'ON'です。
入力フォームで入力確認画面からsubmitで最初の画面に戻すやり方です。
戻ってきてON状態にしたいのですが、なってくれません。
<input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
$HEN['AAA']は確実に'ON'です。
入力フォームで入力確認画面からsubmitで最初の画面に戻すやり方です。
戻ってきてON状態にしたいのですが、なってくれません。
358デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 19:07:44.04ID:wb+dbNkk0359357 (ワッチョイ 9eff-nFeC)
2019/04/24(水) 19:12:31.45ID:AdJPrH9y0360さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/24(水) 19:13:17.51ID:17biHAgbd ONとOK
361さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:13:54.31ID:gP7Kc+nL0 checkedとrequiredがつながってる可能性
362さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:15:38.78ID:gP7Kc+nL0 つーか、HTMLソース見れば一目瞭然
363デフォルトの名無しさん (ワッチョイ 9eff-nFeC)
2019/04/24(水) 19:20:56.00ID:AdJPrH9y0 ソースをみると、
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired
364さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-9jZb)
2019/04/24(水) 19:28:05.74ID:gP7Kc+nL0 ONとOKを間違えてるか、型が違うか。
365さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb2-9jZb)
2019/04/24(水) 19:31:32.04ID:17biHAgbd 全角と半角。
366デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 19:56:23.89ID:wb+dbNkk0 >>363
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる
いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる
いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです
367デフォルトの名無しさん (ワッチョイ 922c-61/s)
2019/04/24(水) 21:46:15.30ID:kFXKi6KY0 >>357
><input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
例えば、Ruby のERB なら、
<p>
Name: <%=h name %>
</p>
h は、<, > などの特殊文字を、HTML Escape する。
でも、君のはコンテンツじゃなく、属性だから、HTML Escape してはいけない
一旦、php 文を変数に入れて、その変数をそこに書けば?
ERB では、<% 〜 %> は、Ruby式を実行するだけで、出力しない。
<%= 〜 %> は、式を実行して、そこへ出力する
同様に、phpにも、出力する記法があるのでは?
そんな、echo などを、わざわざ使うかな?
><input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
例えば、Ruby のERB なら、
<p>
Name: <%=h name %>
</p>
h は、<, > などの特殊文字を、HTML Escape する。
でも、君のはコンテンツじゃなく、属性だから、HTML Escape してはいけない
一旦、php 文を変数に入れて、その変数をそこに書けば?
ERB では、<% 〜 %> は、Ruby式を実行するだけで、出力しない。
<%= 〜 %> は、式を実行して、そこへ出力する
同様に、phpにも、出力する記法があるのでは?
そんな、echo などを、わざわざ使うかな?
368デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/24(水) 21:52:45.02ID:wb+dbNkk0 見た感じでは構文的な間違いはなさそうなんだよな
ただ全体を晒しているわけではないので、間違い部分が分からない
ただ全体を晒しているわけではないので、間違い部分が分からない
369デフォルトの名無しさん (ワッチョイ 0dff-AoSc)
2019/04/24(水) 22:53:46.57ID:S39z++Og0 if($HEN['AAA'] !== 'OK' ) に試しにしてみる
370デフォルトの名無しさん (ワッチョイ 4ba7-KI0z)
2019/04/25(木) 00:24:58.08ID:sHpBR2uH0 OKっていうyvalueはちゃんと入れてるのか?
入れてないならチェックつけたらonって入ると思うけど
それは大文字ではなくて小文字のonになる
$HEN['AAA']って名前の変数は定義されてるのか?
普通に考えるとそこに入るのは$_GET['AAA']もしくは$_POST['AAA']
テンプレートエンジン使ったほうがいいと思うけど
バカ正直に書くとこんな感じになるはず
<input type="radio" name="AAA" value="OK" <?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK') { echo 'checked '; } ?>required>
読みにくくなるが三項演算子を使えばもうちょいスッキリ書ける
もうちょい読みやすく書くと
<?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK'): ?>
<input type="radio" name="AAA" value="OK" checked required>
<?php else: ?>
<input type="radio" name="AAA" value="OK" required>
<?php endif; ?>
>>367も言ってるけど
この条件文の前に$HENなんていう変数を本当に用意してるのであれば
その$HENの中身を'checked 'か''にするところまでやって
<input type="radio" name="AAA" value="OK" <?= $HEN ?>required>
にすりゃいいだけ
入れてないならチェックつけたらonって入ると思うけど
それは大文字ではなくて小文字のonになる
$HEN['AAA']って名前の変数は定義されてるのか?
普通に考えるとそこに入るのは$_GET['AAA']もしくは$_POST['AAA']
テンプレートエンジン使ったほうがいいと思うけど
バカ正直に書くとこんな感じになるはず
<input type="radio" name="AAA" value="OK" <?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK') { echo 'checked '; } ?>required>
読みにくくなるが三項演算子を使えばもうちょいスッキリ書ける
もうちょい読みやすく書くと
<?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK'): ?>
<input type="radio" name="AAA" value="OK" checked required>
<?php else: ?>
<input type="radio" name="AAA" value="OK" required>
<?php endif; ?>
>>367も言ってるけど
この条件文の前に$HENなんていう変数を本当に用意してるのであれば
その$HENの中身を'checked 'か''にするところまでやって
<input type="radio" name="AAA" value="OK" <?= $HEN ?>required>
にすりゃいいだけ
371デフォルトの名無しさん (ワッチョイ 232c-vaK/)
2019/04/26(金) 13:58:13.68ID:A/WNBxWE0 ><?= $HEN ?>required
ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!
必ず、前後に空白を入れるべし!
ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!
必ず、前後に空白を入れるべし!
372デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 12:04:33.45ID:vct+Ltv00 phpで、画像にアクセスしてきたIPを保存することってできますか?
373デフォルトの名無しさん (ワッチョイ 4b63-MRXB)
2019/04/29(月) 12:29:23.82ID:EyyZk+++0 ダイレクトに画像アクセスされたら分からないだろう
Webサーバーのログ見るしかない
Webサーバーのログ見るしかない
374デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 12:48:02.00ID:vct+Ltv00 そういうものなんですね
ありがとうございます
ありがとうございます
375デフォルトの名無しさん (アウアウエー Sa13-3nb/)
2019/04/29(月) 17:43:20.49ID:loz4DS5aa apacheでやっていることをphpでやるようにしたらできるぞ
376デフォルトの名無しさん (ワッチョイ 5d0b-qYff)
2019/04/29(月) 22:11:30.94ID:iMBvrM8u0 画像は非公開領域に置いて、PHP経由で画像を出力するとかできたような
377デフォルトの名無しさん (ワッチョイ e51f-K1VX)
2019/04/29(月) 22:39:29.73ID:vct+Ltv00 ありがとうございます、もうちょっとphpを勉強してから
また考えてみます
また考えてみます
378デフォルトの名無しさん (ワッチョイ ff61-5AMV)
2019/05/09(木) 00:45:39.61ID:RU31sPhL0379デフォルトの名無しさん (アウアウウー Sa1b-y0Vo)
2019/05/13(月) 18:40:53.35ID:roML+UDma 呼んだ関数の返り値がfalse相当でなければ、その値を返す
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?
return func0() || func1()
と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?
return func0() || func1()
と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません
380デフォルトの名無しさん (ワッチョイ 77f3-3bTL)
2019/05/13(月) 22:24:51.96ID:tr/4p/4f0 if (func0() !== false) {
return func0();
}
return func1();
return func0();
}
return func1();
381デフォルトの名無しさん (ワッチョイ 97ba-gMth)
2019/05/13(月) 23:37:45.04ID:xlLeel7b0 2回実行しやらんか
382デフォルトの名無しさん (オイコラミネオ MM6b-fR1T)
2019/05/13(月) 23:46:55.40ID:NT7m3BJtM383デフォルトの名無しさん (アウアウエー Sadf-FgmB)
2019/05/14(火) 00:21:30.17ID:C/lwgk7za ??
384デフォルトの名無しさん (ワッチョイ 1f4d-gMth)
2019/05/14(火) 00:52:38.99ID:+1EhYDa60 >>379
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7
↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7
↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ
385デフォルトの名無しさん (ワッチョイ ffa7-BD3m)
2019/05/15(水) 05:58:37.58ID:vAqxpv060386デフォルトの名無しさん (ワッチョイ bfca-fR1T)
2019/05/15(水) 07:21:00.71ID:WsD3jNK80 スマートってのがばく然とし過ぎてるよ。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。
387デフォルトの名無しさん (アウアウエー Sadf-FgmB)
2019/05/15(水) 09:10:52.73ID:TijlUNhYa 戻り値がboolじゃない時点でクソなんだがな
388デフォルトの名無しさん (ワッチョイ ffa7-BD3m)
2019/05/15(水) 16:10:31.93ID:vAqxpv060 動的言語じゃ短絡評価の型がboolじゃないのは普通だよ
389デフォルトの名無しさん (ワッチョイ 97ba-gMth)
2019/05/15(水) 20:27:21.35ID:+XInXPJh0 C「せやで、intやで
390デフォルトの名無しさん (ワッチョイ 0aad-+M87)
2019/05/16(木) 03:25:20.50ID:neNHVSKA0 CakePHPって人気無いのか?(´・ω・`)
今、参考書読み始めたばかりなんだが
今、参考書読み始めたばかりなんだが
391デフォルトの名無しさん (ワッチョイ 7c07-wkih)
2019/05/16(木) 15:45:22.32ID:fgD0r/Q+0 成熟したFWって感じだと思う。今から学んでも良いと思うよ
392デフォルトの名無しさん (ワッチョイ 0aad-+M87)
2019/05/16(木) 17:28:06.18ID:neNHVSKA0 ほうほう(´・ω・`)
393デフォルトの名無しさん (ワッチョイ dfad-u4A8)
2019/05/25(土) 13:44:57.44ID:BtUlhHLe0 twitterのBotを作りたいと思っています
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください
394蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-uiLC)
2019/05/25(土) 14:07:06.16ID:ro0ZuUFGd395デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/25(土) 20:12:23.16ID:LACToUkl0 勉強中の身であり、変数の名前に気になるところがあるのですが、
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか?
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか?
396デフォルトの名無しさん (アウアウエー Sa9f-AYWk)
2019/05/26(日) 01:01:52.69ID:R35t2Hzta テキトーでええねん
397デフォルトの名無しさん (ワッチョイ 7f63-+klA)
2019/05/26(日) 01:15:23.48ID:mCW+tIqA0 世の中にはいろんな宗教があって、それぞれが信じる神に従ってる
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ
398デフォルトの名無しさん (オッペケ Sr5b-rvs9)
2019/05/26(日) 01:17:46.53ID:H/eCV4+Ur399デフォルトの名無しさん (ワッチョイ a7ba-buEI)
2019/05/26(日) 13:54:59.26ID:QXjH/q9Q0 phpの変数の場合は先頭に$がつくから大文字開始でもいいわなと適当に無責任に思ったりする
アンダーバー使いからでした
アンダーバー使いからでした
400デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/26(日) 19:42:15.61ID:l16JnEYu0 レスどうもです、色々見てみました。
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか?
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか?
401デフォルトの名無しさん (アウアウエー Sa9f-g/Ks)
2019/05/26(日) 19:44:56.69ID:kz8BVyYaa psr
402蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-uiLC)
2019/05/26(日) 19:46:34.19ID:zbyp88Owd PHP コーディング規約
403デフォルトの名無しさん (ワッチョイ 671f-3Zqm)
2019/05/26(日) 19:55:20.42ID:4NUXcUki0 glassfishは使えますか?
また、類似のものはありますか?
また、類似のものはありますか?
404デフォルトの名無しさん (ワッチョイ dfa9-Fpyl)
2019/05/28(火) 07:44:27.33ID:qfX7VqbU0405デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/02(日) 05:20:27.00ID:+gCp7rkB0 ファイルの読み書きの練習でカウンターを始めたのですが、とりあえずロック無しやエラー分岐無しでも上手く動かず
var_dumpなる便利なものがあるので使ったところ、
string(3) "1 " string(3) "1 " あなたは1 人目のお客様です、 と出るようで
文字列で読んでいるため ++が効かないようです。
ただ、$count = $count = 1;とすると
string(3) "1 "
Notice: A non well formed numeric value encountered in c:\********\counter\index.php on line 7
int(2) あなたは2人目のお客様です
とファイルには1を足されて書き込めるのですが、$count++; を使って動くようにするためにはどうすればいいでしょうか。
<?php
$counter_file = "count.dat";
$counter_length = 5;
$fp = fopen($counter_file, "r+" );
$count = fgets($fp, $counter_length);
var_dump($count);
$count++;
var_dump($count);
rewind($fp);
fputs($fp, $count);
fclose($fp);
echo 'あなたは'.$count.'人目のお客様です';
?>
var_dumpなる便利なものがあるので使ったところ、
string(3) "1 " string(3) "1 " あなたは1 人目のお客様です、 と出るようで
文字列で読んでいるため ++が効かないようです。
ただ、$count = $count = 1;とすると
string(3) "1 "
Notice: A non well formed numeric value encountered in c:\********\counter\index.php on line 7
int(2) あなたは2人目のお客様です
とファイルには1を足されて書き込めるのですが、$count++; を使って動くようにするためにはどうすればいいでしょうか。
<?php
$counter_file = "count.dat";
$counter_length = 5;
$fp = fopen($counter_file, "r+" );
$count = fgets($fp, $counter_length);
var_dump($count);
$count++;
var_dump($count);
rewind($fp);
fputs($fp, $count);
fclose($fp);
echo 'あなたは'.$count.'人目のお客様です';
?>
406405 (ワッチョイ 6aa9-yed5)
2019/06/02(日) 06:57:52.85ID:+gCp7rkB0 ×:ただ、$count = $count = 1;とすると
○:ただ、$count = $count + 1;とすると
です、すいません。
○:ただ、$count = $count + 1;とすると
です、すいません。
407デフォルトの名無しさん (ワッチョイ f384-Trtn)
2019/06/02(日) 11:07:27.99ID:mXZMYbpt0 $count = intval(trim(fgets($fp, $counter_length)));
408デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/02(日) 22:38:21.40ID:8A/taE5v0 >>405
string(3) ってのは長さ 3 の文字列ということを示してるから、カウンタファイルにカウント値に続いてスペースとか改行コードがくっついてるんだろうね。
fgets した値を trim すればいいんじゃないかな。
文字列変数を数値としてそのまま計算することは可能だから、intval は必須ではない。
あと fgets や fputs じゃなく fread と fwrite を使ってはいかが。
string(3) ってのは長さ 3 の文字列ということを示してるから、カウンタファイルにカウント値に続いてスペースとか改行コードがくっついてるんだろうね。
fgets した値を trim すればいいんじゃないかな。
文字列変数を数値としてそのまま計算することは可能だから、intval は必須ではない。
あと fgets や fputs じゃなく fread と fwrite を使ってはいかが。
409デフォルトの名無しさん (ワッチョイ 731a-yJVk)
2019/06/03(月) 00:23:29.48ID:6fgKmexV0 PHPにおける連想配列はキーが文字列の場合を指すのでしょうか?
$yasai = [1 => 'キャベツ', 'にんじん', 'レタス', 'トマト'];
これはキーが1から始まる整数ですが、
プログラマが指定しているので連想配列ですか?
$yasai = [1 => 'キャベツ', 'にんじん', 'レタス', 'トマト'];
これはキーが1から始まる整数ですが、
プログラマが指定しているので連想配列ですか?
410デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/03(月) 01:48:26.16ID:AHqJ7vTG0 >>408
なんとなく使い出したatomの仕様でした。
datファイルを1バイトの文字だけ書いて上書き保存すると0A0Dの文字コードが足されていました・・・
string(3)というのが不思議だったのですが、自分で1バイトなのになぜ?と思い込みが強く気付くのが遅れてしまいました。
fread, fwriteというのがあるのですね。
検索すると色々出てきたりするのですが、どれも正しいものと思っていたのですが、
時代的に推奨されない関数などがあるようで、そのあたりの見極めが良くなりたいです。
>>407
excelの関数でたくさん入れ子になったものを見たことがあります、こんな感じでまとめられるのですね。
なんとなく使い出したatomの仕様でした。
datファイルを1バイトの文字だけ書いて上書き保存すると0A0Dの文字コードが足されていました・・・
string(3)というのが不思議だったのですが、自分で1バイトなのになぜ?と思い込みが強く気付くのが遅れてしまいました。
fread, fwriteというのがあるのですね。
検索すると色々出てきたりするのですが、どれも正しいものと思っていたのですが、
時代的に推奨されない関数などがあるようで、そのあたりの見極めが良くなりたいです。
>>407
excelの関数でたくさん入れ子になったものを見たことがあります、こんな感じでまとめられるのですね。
411デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/03(月) 09:41:17.43ID:3s7VSFTB0 >>410
php では fputs と fwrite は全く一緒。
C なんかだと文字列長をサイズなり終端文字なりで示す必要があるので、その示し方の違いで関数が別れてる。
php の変数は文字列の長さを変数自体が知っているから、fputs と fwrite に違いを付けようがない。
fgets については、改行かファイル終端まで、または指定サイズに達するまで読み込むが、fread は改行で読み取りをやめない点が違う。
対象のファイルが改行区切りのテキストファイルを読む場合は fgets が便利に使えることも多い。
でも今回のカウンタファイルはカウント値がひとつ書いてあるだけのファイルだから fgets でも fread でも表向きの結果は一緒だけど、
それでも fgets は改行を探しながら読み取る分少し遅いことが予想される。
そもそも fgets を使う場面では、そのファイルが改行で区切られていることを暗に示しているので、今回の使用を表すコードとしては適切と言えない。
php では fputs と fwrite は全く一緒。
C なんかだと文字列長をサイズなり終端文字なりで示す必要があるので、その示し方の違いで関数が別れてる。
php の変数は文字列の長さを変数自体が知っているから、fputs と fwrite に違いを付けようがない。
fgets については、改行かファイル終端まで、または指定サイズに達するまで読み込むが、fread は改行で読み取りをやめない点が違う。
対象のファイルが改行区切りのテキストファイルを読む場合は fgets が便利に使えることも多い。
でも今回のカウンタファイルはカウント値がひとつ書いてあるだけのファイルだから fgets でも fread でも表向きの結果は一緒だけど、
それでも fgets は改行を探しながら読み取る分少し遅いことが予想される。
そもそも fgets を使う場面では、そのファイルが改行で区切られていることを暗に示しているので、今回の使用を表すコードとしては適切と言えない。
412デフォルトの名無しさん (ワッチョイ 66ca-4mik)
2019/06/03(月) 09:43:52.91ID:3s7VSFTB0413デフォルトの名無しさん (ワッチョイ 4aa7-Trtn)
2019/06/03(月) 18:57:23.86ID:lAZ+x+Rt0 行というのは改行で終わるものだからね
414デフォルトの名無しさん (ワッチョイ 6aa9-yed5)
2019/06/05(水) 02:56:36.81ID:a7gcDC7N0 遅くなってすいません。
カウンターのデータとしてあるべき姿ではありませんが、複数行に数字を書いたファイルを
fgetとfreadを使って読むと、fgetは改行付きの1行、freadはすべての数字と改行を読みましたが、
意外と後者でも1つ目の数字だけをインクリメントして書き戻しました。
最終的にはLAMP環境でDBとの読み書きを行いたいのですが、
やはりアプリケーションのログとかをディレクトリ内で追記することを考えると
ファイルの読み書きコマンドは必須ですよね。
カウンターのデータとしてあるべき姿ではありませんが、複数行に数字を書いたファイルを
fgetとfreadを使って読むと、fgetは改行付きの1行、freadはすべての数字と改行を読みましたが、
意外と後者でも1つ目の数字だけをインクリメントして書き戻しました。
最終的にはLAMP環境でDBとの読み書きを行いたいのですが、
やはりアプリケーションのログとかをディレクトリ内で追記することを考えると
ファイルの読み書きコマンドは必須ですよね。
415デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 12:58:24.47ID:FDYkpc7vd オススメな本ある?
416デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/15(土) 23:50:27.88ID:6CnMECf20 データベースに書き込みコードを作ったんだけどどうしてもカラムがカラムとして認識されなくてエラーになるんだけどなぜか教えてくれ
$sql = "INSERT INTO comments(
number, name, time, comment←ここ
) VALUES (
'', '$myname', '$time', '$comment'
)";
$sql = "INSERT INTO comments(
number, name, time, comment←ここ
) VALUES (
'', '$myname', '$time', '$comment'
)";
417デフォルトの名無しさん (ワッチョイ 275f-xU2V)
2019/06/15(土) 23:59:21.35ID:sjL7iEiN0 >>409
型が不定型なら連想配列なんじゃね
型が不定型なら連想配列なんじゃね
418デフォルトの名無しさん (ワッチョイ 4e63-9ye8)
2019/06/16(日) 00:00:24.76ID:RqGVrKm70 >>416
desc comments か show create table comments の結果を見せて
desc comments か show create table comments の結果を見せて
419デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/16(日) 00:46:03.82ID:mnCyhttK0 `number`
`name`
`time`
`comment`
`name`
`time`
`comment`
420蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdba-1i7F)
2019/06/16(日) 00:53:30.95ID:QegIZpn+d BUCK-TICK
421デフォルトの名無しさん (ワッチョイ 5ab6-aDQK)
2019/06/16(日) 00:54:21.78ID:iLpQBBTE0 エラーの内容くらい貼れよ
422デフォルトの名無しさん (ワッチョイ 768c-EjMK)
2019/06/16(日) 01:16:21.26ID:mnCyhttK0 >>416
解決しました、このコードの前の変数代入のスペルミスでした、お騒がせしました
解決しました、このコードの前の変数代入のスペルミスでした、お騒がせしました
423デフォルトの名無しさん (アウアウエー Sa52-T4Zx)
2019/06/16(日) 01:35:18.28ID:nxr18ojea sqlインジェクション
424デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/16(日) 01:43:15.14ID:z9IiVZ7F0 自分で、SQL 文を組み立てて送信するのは、
SQLインジェクションもあり、お勧めできない!
フレームワークには、O/R マッパーが付いている
Ruby on Rails を知っているなら、CakePHP も出来る。
CakePHPは、Rails のコピーだから!
掌田津耶乃が、CakePHPの本も書いてる。
彼は、ほとんどのフレームワーク・ゲームエンジンの本も書いてる
SQLインジェクションもあり、お勧めできない!
フレームワークには、O/R マッパーが付いている
Ruby on Rails を知っているなら、CakePHP も出来る。
CakePHPは、Rails のコピーだから!
掌田津耶乃が、CakePHPの本も書いてる。
彼は、ほとんどのフレームワーク・ゲームエンジンの本も書いてる
425デフォルトの名無しさん (ワッチョイ b6ca-JHSl)
2019/06/17(月) 04:24:41.50ID:uk/AI0sh0 in とか like とか動的な条件式を構成する程度のありふれたことをやるにもおかしなラッパやライブラリを作るハメになるから、
SQLインジェクション対策ごときで有りもののフレームワークに拘る必要なんて全く無い。
SQLインジェクション対策ごときで有りもののフレームワークに拘る必要なんて全く無い。
426デフォルトの名無しさん (ワッチョイ fa5c-2qry)
2019/06/17(月) 08:29:41.28ID:1fS1Pgsf0 プレースホルダ使えばいいじゃん
427デフォルトの名無しさん (ワッチョイ b6ca-JHSl)
2019/06/17(月) 08:48:58.25ID:uk/AI0sh0 >>426
だからPDOで充分じゃん。
でもPDOの名前つきプレースホルダは、値を入れる連想配列に余剰な項目があるとエラーになっちゃうのがイケてないんだよな。
いくつかSQLを続けて発行しようと思っても、同じ連想配列の使い回しがやりづらい、というか実質できない。
なんでこんな余計なお世話の仕様にした。
だからPDOで充分じゃん。
でもPDOの名前つきプレースホルダは、値を入れる連想配列に余剰な項目があるとエラーになっちゃうのがイケてないんだよな。
いくつかSQLを続けて発行しようと思っても、同じ連想配列の使い回しがやりづらい、というか実質できない。
なんでこんな余計なお世話の仕様にした。
428デフォルトの名無しさん (ワッチョイ fa5c-2qry)
2019/06/17(月) 09:16:38.19ID:1fS1Pgsf0 そのつもりで言ったんだけどね
429デフォルトの名無しさん (アウアウウー Sac7-2qry)
2019/06/18(火) 00:39:27.92ID:90gU7PyPa PHP7.2をインストールしたサーバから外部サイトを取得しているfile_get_contentsで
SSL routines:ssl3_get_server_certificate:certificate verify failed
というエラーが出たので
ググったところ、サーバのSSL証明書ファイルが古かったりうまく設定できていない時に出るエラーのようでした
ググった先の情報に従って、
opensslをアップデートしてから、php.iniで
openssl.cafile=/etc/ssl/certs/ca-bundle.crt
と設定したのですが現象は変わらず(phpinfoで設定の反映は確認済み)
http://curl.haxx.se/ca/cacert.pem
を取得してそれをopenssl.cafileに設定しても、やはり現象に変化なしでした
しかたなくfile_get_contentsのオプションでverify_peerとverify_peer_nameをfalseにして、
証明書のチェック自体をしないようにしたらエラーは消えましたが、
なぜ証明書ファイルを設定してもエラーになったのかが気になります
どんな原因が考えられるでしょうか?
SSL routines:ssl3_get_server_certificate:certificate verify failed
というエラーが出たので
ググったところ、サーバのSSL証明書ファイルが古かったりうまく設定できていない時に出るエラーのようでした
ググった先の情報に従って、
opensslをアップデートしてから、php.iniで
openssl.cafile=/etc/ssl/certs/ca-bundle.crt
と設定したのですが現象は変わらず(phpinfoで設定の反映は確認済み)
http://curl.haxx.se/ca/cacert.pem
を取得してそれをopenssl.cafileに設定しても、やはり現象に変化なしでした
しかたなくfile_get_contentsのオプションでverify_peerとverify_peer_nameをfalseにして、
証明書のチェック自体をしないようにしたらエラーは消えましたが、
なぜ証明書ファイルを設定してもエラーになったのかが気になります
どんな原因が考えられるでしょうか?
430デフォルトの名無しさん (アウアウウー Sac7-2qry)
2019/06/18(火) 01:05:53.87ID:90gU7PyPa >>429
もしかして読み込み先のサーバに問題があるのでは?
と思ってhttps://yahoo.co.jp/をfile_get_contentsで取得してみたら、
エラーは出ませんでした
そこで読み込み先のサイトをブラウザで表示して、証明書を確認したところ、
有効期間が2019/6/14〜になっていました
つまり、最近証明書を更新したようです
file_get_contentsでは古い証明書を取得しまっている、ということだと思いますが
何故そんなことが起きるのでしょうか?
どうすれば解決できますか?
もしかして読み込み先のサーバに問題があるのでは?
と思ってhttps://yahoo.co.jp/をfile_get_contentsで取得してみたら、
エラーは出ませんでした
そこで読み込み先のサイトをブラウザで表示して、証明書を確認したところ、
有効期間が2019/6/14〜になっていました
つまり、最近証明書を更新したようです
file_get_contentsでは古い証明書を取得しまっている、ということだと思いますが
何故そんなことが起きるのでしょうか?
どうすれば解決できますか?
431デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:22:32.87ID:3nOE2mBA0 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
432デフォルトの名無しさん (ワッチョイ 5b0f-hwLH)
2019/06/18(火) 17:22:41.03ID:HA3mKCJN0 ファイルの書き出し処理で分からないことがあったので質問します
Windowsでファイル名に使えない文字がありますよね
日本語だと、全角文字に置き換えるということができますが
海外だと、どんな方法で対処してるのでしょうか?
英語というか、1バイト文字でどう回避してるのか、よく分からないです
全部 _(アンダースコア)で置き換えとか?
Windowsでファイル名に使えない文字がありますよね
日本語だと、全角文字に置き換えるということができますが
海外だと、どんな方法で対処してるのでしょうか?
英語というか、1バイト文字でどう回避してるのか、よく分からないです
全部 _(アンダースコア)で置き換えとか?
433デフォルトの名無しさん (ワッチョイ 9961-f3ih)
2019/06/24(月) 20:15:24.96ID:m1x6Lozf0 音楽ファイルなんかでよく見るけど予約文字は大体アンダースコアになってるね
アポストロフィや?は省略されてることが多い
アポストロフィや?は省略されてることが多い
434デフォルトの名無しさん (ワッチョイ d35c-Im5L)
2019/06/24(月) 20:38:24.35ID:OkN3wkON0 XML文字参照とかコードポイントとか
435デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 08:09:50.05ID:NH/ScEyz0 単一のphpで、1つのinput textからポストしてデータベースに接続してselectしてレコードを
input textの下に表示する、というコードを書いて動いたのは嬉しいのですが、
functionは使っていません。
いずれclassの中にfunctionを入れたいのですが、私のphp部分なら30行ぐらいのコードでもそういう
ことができるのでしょうか?
人のコードで、functionばかりあって、最後に
main();
みたいなのがありますが、それが行き着く先の形なのでしょうか。
input textの下に表示する、というコードを書いて動いたのは嬉しいのですが、
functionは使っていません。
いずれclassの中にfunctionを入れたいのですが、私のphp部分なら30行ぐらいのコードでもそういう
ことができるのでしょうか?
人のコードで、functionばかりあって、最後に
main();
みたいなのがありますが、それが行き着く先の形なのでしょうか。
436デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 08:11:47.66ID:NH/ScEyz0 補足です。
sqlインジェクションとかXSSとかの対策も知らないのでそのままではダメですが、
自分なりの堅牢なfunctionを作って、それを組み合わせるというのがphpプログラマーなのでしょうか。
sqlインジェクションとかXSSとかの対策も知らないのでそのままではダメですが、
自分なりの堅牢なfunctionを作って、それを組み合わせるというのがphpプログラマーなのでしょうか。
437デフォルトの名無しさん (ワッチョイ 9565-NNfO)
2019/07/03(水) 11:15:42.58ID:XrINKmpg0 >>435
「PHP デザインパターン」で検索
「PHP デザインパターン」で検索
438デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 18:55:14.56ID:NH/ScEyz0 >>437
ありとうございます。デザインパターンで検索するとちょっと内容が濃すぎました。
オンラインの学習でclassやextendを使った内容は一通りやってみたのですが、
既存のfunction無しのコードを、classやfunctionありのコードに直すのではなくて、
始めから書き直すことになりそうですね。
ありとうございます。デザインパターンで検索するとちょっと内容が濃すぎました。
オンラインの学習でclassやextendを使った内容は一通りやってみたのですが、
既存のfunction無しのコードを、classやfunctionありのコードに直すのではなくて、
始めから書き直すことになりそうですね。
439デフォルトの名無しさん (ワッチョイ 6aa7-NNfO)
2019/07/03(水) 19:37:45.44ID:G8Yh9hPC0 >>438
「PHP リファクタリング」で検索
リファクタリングして、デザインパターンに寄せるのがいい設計のひとつ。
30行ぐらいのコードでも機能が3つあれば、10行ずつ3つに分けてfunctionにしてもいい。
そして、それをまとめて1つのclassにしてもいい。
試しにfunction化して動かしてみて、それが出来たら更にclass化して動かしてみればいいよ。
思ったより簡単に動くから。
「PHP リファクタリング」で検索
リファクタリングして、デザインパターンに寄せるのがいい設計のひとつ。
30行ぐらいのコードでも機能が3つあれば、10行ずつ3つに分けてfunctionにしてもいい。
そして、それをまとめて1つのclassにしてもいい。
試しにfunction化して動かしてみて、それが出来たら更にclass化して動かしてみればいいよ。
思ったより簡単に動くから。
440デフォルトの名無しさん (ワッチョイ caa9-Eaty)
2019/07/03(水) 19:50:35.07ID:NH/ScEyz0 >>439
>試しにfunction化して動かしてみて
そうですね、恐らく自分の書いているのはifとメソッドと呼ばれるものを上から書いているだけなので、
function化をやってみたいと思います。
リファクタリングの単語ありがとうございます、今ではデザインパターンよりこっちのほうが
合っていると思います。
>試しにfunction化して動かしてみて
そうですね、恐らく自分の書いているのはifとメソッドと呼ばれるものを上から書いているだけなので、
function化をやってみたいと思います。
リファクタリングの単語ありがとうございます、今ではデザインパターンよりこっちのほうが
合っていると思います。
441デフォルトの名無しさん (ワッチョイ 2d23-hmOa)
2019/07/03(水) 19:54:06.45ID:5B/jgT3f0 PhpOffice¥PhpSpreadsheetの質問です
$sheet->getCell()->getValue()メソッドでセルの値をとっているのですが
エクセル側でセルの内容が装飾されているとき
プレーンテキストではなく
object(PhpOffice¥PhpSpreadsheet¥RichText¥RichText)
として返ってきます
これをサラっとプレーンテキストにするにはどうしたらよいでしょか?
$sheet->getCell()->getValue()メソッドでセルの値をとっているのですが
エクセル側でセルの内容が装飾されているとき
プレーンテキストではなく
object(PhpOffice¥PhpSpreadsheet¥RichText¥RichText)
として返ってきます
これをサラっとプレーンテキストにするにはどうしたらよいでしょか?
442デフォルトの名無しさん (アウアウエー Sab2-drJG)
2019/07/03(水) 22:29:59.38ID:/WAsDrGXa443デフォルトの名無しさん (アウアウカー Sac7-Fupf)
2019/07/04(木) 12:55:34.62ID:MdrCWp24a ありがとー
444デフォルトの名無しさん (ワッチョイ 8f61-26dl)
2019/07/05(金) 22:39:00.25ID:tMJYpT0L0 いいってことよ
445デフォルトの名無しさん (ワッチョイ ffa9-mVFY)
2019/07/08(月) 08:03:24.67ID:lXAN+HQL0 DB板が過疎化しているので、こちらで聞きたいのですが、
phpのページにアクセスするとカウンターの値をデータベースから取得して、
1足して表示して、その値をupdateしたいのですが、
DBのcounterテーブルにはcountカラムだけあり、値を入れています。
MariaDB [web]> select * from web.counter;
+-------+
| count |
+-------+
| 1 |
+-------+
カウンターを上げようとするとエラーが出るのですが、
MariaDB [web]> updete web.counter set count=2;
ERROR 1064 (42000): You have an error in your SQL syntax;
2カラムにして、name=count, value=1みたいなテーブルを作って
whereを使ってupdateするのが正しいやり方なのでしょうか?
1カラムではそもそも無理があるのでしょうか。
phpのページにアクセスするとカウンターの値をデータベースから取得して、
1足して表示して、その値をupdateしたいのですが、
DBのcounterテーブルにはcountカラムだけあり、値を入れています。
MariaDB [web]> select * from web.counter;
+-------+
| count |
+-------+
| 1 |
+-------+
カウンターを上げようとするとエラーが出るのですが、
MariaDB [web]> updete web.counter set count=2;
ERROR 1064 (42000): You have an error in your SQL syntax;
2カラムにして、name=count, value=1みたいなテーブルを作って
whereを使ってupdateするのが正しいやり方なのでしょうか?
1カラムではそもそも無理があるのでしょうか。
446デフォルトの名無しさん (ワッチョイ ffa9-mVFY)
2019/07/08(月) 08:17:27.48ID:lXAN+HQL0 すみません、自決しました。
コマンドのスペルミスでした。
コマンドのスペルミスでした。
447デフォルトの名無しさん (アメ MM27-tLYs)
2019/07/08(月) 09:21:34.11ID:QKT/WDgRM じゃあ昔DB板にいた人たちは今どこにいるんだろ?まさかTwitterとか?w
448デフォルトの名無しさん (ワッチョイ ffa9-mVFY)
2019/07/08(月) 09:27:15.95ID:lXAN+HQL0 DB板の1-3番目はoracleですが、
3番目のスレッドは2003年のスレ立てから16年経っても250スレしかないぐらいですね・・・
3番目のスレッドは2003年のスレ立てから16年経っても250スレしかないぐらいですね・・・
449デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/08(月) 12:07:56.39ID:0IJIq/+j0 DB板は比較的過疎だけど、
マイナーなDBMSでなければ
質問すれば回答してくれるよ
MariaならMySQLスレで聞けば良い
マイナーなDBMSでなければ
質問すれば回答してくれるよ
MariaならMySQLスレで聞けば良い
450デフォルトの名無しさん (アウアウエー Sadf-RycQ)
2019/07/08(月) 17:33:13.10ID:6c0OwKHja >>446
自決したか
自決したか
451デフォルトの名無しさん (ワッチョイ 335f-4hHn)
2019/07/09(火) 00:40:05.87ID:U2Ej2IFy0 unixタイムスタンプで
mktime(0,0,0,1,2,1970);
1970年1月2日0時0分0秒(1日後)
を実行すると82800秒と1日の秒数より1時間少ない結果が出るので
次に1970年1月3日0時0分0秒(2日後)を試し
169200と23時間+1日という結果が出ました
これはどういう仕様なのでしょうか?
何か見落としてますか?
mktime(0,0,0,1,2,1970);
1970年1月2日0時0分0秒(1日後)
を実行すると82800秒と1日の秒数より1時間少ない結果が出るので
次に1970年1月3日0時0分0秒(2日後)を試し
169200と23時間+1日という結果が出ました
これはどういう仕様なのでしょうか?
何か見落としてますか?
452デフォルトの名無しさん (ワッチョイ 0361-mVFY)
2019/07/09(火) 00:55:35.31ID:lRtOoeh80 タイムゾーンがGMT+1の所になってるんじゃね?
453デフォルトの名無しさん (ワッチョイ 335f-4hHn)
2019/07/09(火) 01:04:45.72ID:U2Ej2IFy0454デフォルトの名無しさん (ササクッテロル Sp87-TcNW)
2019/07/09(火) 10:23:45.55ID:JD/7/fU5p セミコロンを文字列としてechoしようとするとエラーが出るので、エスケープしようと思うのですがバックスラッシュが効きません
どうしたらいいでしょうか?
どうしたらいいでしょうか?
455デフォルトの名無しさん (ワッチョイ 2301-TcNW)
2019/07/09(火) 19:14:00.22ID:EvaqxK5+0 >>454ですがくだらなすぎました
phpのバージョン上げたら解決しました
phpのバージョン上げたら解決しました
456デフォルトの名無しさん (ワッチョイ 335f-4hHn)
2019/07/09(火) 21:07:19.77ID:U2Ej2IFy0 php.iniファイルのdate.timezoneをasia/tokyoに変更したらうまくいきました
ありがとうございました。
ありがとうございました。
457デフォルトの名無しさん (ワッチョイ 6fde-R/Fd)
2019/07/10(水) 02:09:59.48ID:DphKO2vD0 mb_send_mailでメール送信すると、特定のアドレスに送信するとuser unkownになって送れない
これってsmtpの設定をしなくて直接受信サーバーを叩きにいってしまうからダメなのかな
phpmailerとかにすれば解決すると思う?
これってsmtpの設定をしなくて直接受信サーバーを叩きにいってしまうからダメなのかな
phpmailerとかにすれば解決すると思う?
458デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 17:07:45.46ID:Jm+T6ApQ0 ウインドウズ10で
include_once "C:/folder1/folder2/mytest.php";
みたいな絶対パス指定してphpファイルを読み込んで実行する事は出来ないの?
include_once "C:/folder1/folder2/mytest.php";
みたいな絶対パス指定してphpファイルを読み込んで実行する事は出来ないの?
459デフォルトの名無しさん (ワッチョイ 9a2c-i8Xk)
2019/07/11(木) 19:21:54.84ID:xCkJ5LaR0 ローカルにあるHTML ファイルを、ブラウザで読み込める
file:///C:/Users/Owner/Documents/index.html
ローカルにあるHTML ファイル内で、ローカルの相対パスを読み込める
<script type="text/javascript" src="../jQuery/jquery-3.1.0.js"></script>
<script src="test.js"></script>
ローカルにあるHTML ファイル内で、ローカルにある画像も読み込める
<img src="C:/Users/Owner/Pictures/a.png">
<img src="C:/Users/Owner/Pictures/b.jpg">
ローカルにあるRuby ファイル内で、ローカルの相対パスを読み込める
require_relative "../my_utility.rb"
file:///C:/Users/Owner/Documents/index.html
ローカルにあるHTML ファイル内で、ローカルの相対パスを読み込める
<script type="text/javascript" src="../jQuery/jquery-3.1.0.js"></script>
<script src="test.js"></script>
ローカルにあるHTML ファイル内で、ローカルにある画像も読み込める
<img src="C:/Users/Owner/Pictures/a.png">
<img src="C:/Users/Owner/Pictures/b.jpg">
ローカルにあるRuby ファイル内で、ローカルの相対パスを読み込める
require_relative "../my_utility.rb"
460デフォルトの名無しさん (ワッチョイ 3e02-boPz)
2019/07/11(木) 19:25:03.65ID:BpuSRQy60 今php.exeが配布してるか知らないが
php.exe -filename.php
的なことができるかも
php.exe -filename.php
的なことができるかも
461デフォルトの名無しさん (アメ MMff-9Lv1)
2019/07/11(木) 19:26:02.93ID:At9Pc1xnM Rubyファイルは読み込めないな。
そんなゴミ入れてないからwww
そんなゴミ入れてないからwww
462蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-KxfX)
2019/07/11(木) 20:28:52.35ID:dVCZh9+R0 XAMPP使えば、phpをコマンドラインから実行できるぞ。
463デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 20:36:27.66ID:Jm+T6ApQ0 >>459
458の答えを教エロ下さい。
458の答えを教エロ下さい。
464蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-KxfX)
2019/07/11(木) 20:53:35.20ID:dVCZh9+R0465デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 21:07:42.46ID:Jm+T6ApQ0 >>464
include_onceで使えますか?
include_onceで使えますか?
466蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-Frt+)
2019/07/11(木) 21:13:16.43ID:dVCZh9+R0467デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 21:16:19.19ID:Jm+T6ApQ0 >>466
試したが出来ないんだよね。
試したが出来ないんだよね。
468蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-Frt+)
2019/07/11(木) 21:18:05.78ID:dVCZh9+R0 >>467
じゃあ、エラーメッセージを確認して。phpはローカルにあるの?
じゃあ、エラーメッセージを確認して。phpはローカルにあるの?
469デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 21:24:45.41ID:Jm+T6ApQ0 分からん
470蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-Frt+)
2019/07/11(木) 21:26:20.82ID:dVCZh9+R0 PHPがローカルにないなら、サーバー側のPHPからローカルファイルにはアクセスできない。アップロードするかなんかしないといけないよ。
471デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/11(木) 21:27:35.31ID:Jm+T6ApQ0 >>470
PHPはローカルにある
PHPはローカルにある
472蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-Frt+)
2019/07/11(木) 21:32:33.57ID:dVCZh9+R0 初心者は、最初に警告やエラーが見えるようにPHPを設定した方がいいよ。
473蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 0b01-Frt+)
2019/07/11(木) 21:34:41.35ID:dVCZh9+R0 パスに一字でも間違いはない? 全角・半角が間違ってない?
474デフォルトの名無しさん (ワッチョイ b31f-FfMm)
2019/07/11(木) 22:44:38.90ID:Tg5RlGHB0 そもそもphpだからって、
Webサーバでしか動かしてはいけない、
なんてルールはないと思うが
シェルスクリプトとかpythonみたいに使ったら良いと思うの
Webサーバでしか動かしてはいけない、
なんてルールはないと思うが
シェルスクリプトとかpythonみたいに使ったら良いと思うの
475デフォルトの名無しさん (ワッチョイ b6ba-YtL5)
2019/07/12(金) 03:54:57.52ID:B1okfPjL0476デフォルトの名無しさん (ワッチョイ 9aa9-TPoM)
2019/07/12(金) 19:38:28.33ID:XTqC7rHb0 phpを始めて、50行程度で色々作ったりしているのですが、
それが合っているかどうか、無駄や脆弱性があったりと心配になるので、
webサービスでコードを貼り付けて、相談してもらうようなサービスはあるのでしょうか。
数行であればスレの皆さんにご指摘を受けるのは嬉しいのですが
多い行を貼り付けることもスレ汚しにもなるので、何か良い方法はありませんか?
それが合っているかどうか、無駄や脆弱性があったりと心配になるので、
webサービスでコードを貼り付けて、相談してもらうようなサービスはあるのでしょうか。
数行であればスレの皆さんにご指摘を受けるのは嬉しいのですが
多い行を貼り付けることもスレ汚しにもなるので、何か良い方法はありませんか?
477デフォルトの名無しさん (ワッチョイ 4e63-P44A)
2019/07/12(金) 19:44:27.25ID:rA9WmwUa0478デフォルトの名無しさん (ワッチョイ 9aa9-TPoM)
2019/07/12(金) 20:15:43.69ID:XTqC7rHb0479デフォルトの名無しさん (ワッチョイ db0f-7P2I)
2019/07/15(月) 19:56:58.11ID:rFkphOJd0 ファイル名にUnicode制御文字らしきものが入ってしまったのですが
それを削除する方法を教えてください
具体的に何が入っているのかを調べる方法もあれば教えて欲しいです
https://i.imgur.com/V7xutMK.png
twitter のツイートをコピペしたものをファイル名にする処理をしたときに
そうなりました
上の画像で言うと、@の前にある文字です
おそらく、[RLO]だと思いますが、これを取り除く方法が分かりません
それを削除する方法を教えてください
具体的に何が入っているのかを調べる方法もあれば教えて欲しいです
https://i.imgur.com/V7xutMK.png
twitter のツイートをコピペしたものをファイル名にする処理をしたときに
そうなりました
上の画像で言うと、@の前にある文字です
おそらく、[RLO]だと思いますが、これを取り除く方法が分かりません
480デフォルトの名無しさん (ワッチョイ ff4e-9Lv1)
2019/07/15(月) 20:00:19.90ID:38cZE3Hm0 >>479
エイサスって読んでたわw
エイサスって読んでたわw
481デフォルトの名無しさん (ワッチョイ db0f-7P2I)
2019/07/15(月) 20:17:25.90ID:rFkphOJd0 >>480
今はエイスースw
https://www.asus.com/jp/About_ASUS/about_asus_history_name
> 2012年10月よりASUSは「エイスース」と発音が統一されました。
今はエイスースw
https://www.asus.com/jp/About_ASUS/about_asus_history_name
> 2012年10月よりASUSは「エイスース」と発音が統一されました。
482デフォルトの名無しさん (ワッチョイ db0f-7P2I)
2019/07/15(月) 21:55:18.87ID:rFkphOJd0 >>479
自己解決
とりあえず、これでなんとかなりました
$str = preg_replace('/[\p{Cc}\p{Cf}\p{Zs}]/u', '', $str);
このへん、参考にしました
U+001DなどUnicode(ASCII,C0)制御文字がHeaderに含まれるとaborting requestするので除去する - Qiita
https://qiita.com/khsk/items/3c98174bc6cb9b596e61
PHP: Unicode 文字プロパティ - Manual
https://www.php.net/manual/ja/regexp.reference.unicode.php
自己解決
とりあえず、これでなんとかなりました
$str = preg_replace('/[\p{Cc}\p{Cf}\p{Zs}]/u', '', $str);
このへん、参考にしました
U+001DなどUnicode(ASCII,C0)制御文字がHeaderに含まれるとaborting requestするので除去する - Qiita
https://qiita.com/khsk/items/3c98174bc6cb9b596e61
PHP: Unicode 文字プロパティ - Manual
https://www.php.net/manual/ja/regexp.reference.unicode.php
483デフォルトの名無しさん (ワッチョイ 237c-XeHW)
2019/07/16(火) 23:25:57.59ID:6A7bTSc60 メーラーを作ってる人が集まってるスレはありますか?
484デフォルトの名無しさん (ワッチョイ 75f1-xVkp)
2019/08/05(月) 15:18:25.28ID:RvbOnux20 ものすごく基本的な質問かもしれません。
本物のサーバで実験したいのですが
PHPが使えるレンタルサーバで安いところはどこですか?
将来的にはなんらかの形でネット商売するかもしれません。
本物のサーバで実験したいのですが
PHPが使えるレンタルサーバで安いところはどこですか?
将来的にはなんらかの形でネット商売するかもしれません。
485デフォルトの名無しさん (ワッチョイ 75ba-7p+E)
2019/08/05(月) 16:46:02.19ID:v6lP0LVw0 「PHPが使えるレンタルサーバで安いところ」で検索するだけなのにマジで商売するの?
486デフォルトの名無しさん (ワッチョイ cb63-0ks1)
2019/08/05(月) 18:04:13.97ID:9k1HrfSt0 まず目の前にあるPCに仮想環境を入れて
適当なLinuxをインストールしてサーバーにしてみ
それなら好き勝手にいじれるし誰にも迷惑かけないしタダだ
そっから始めてみたらどう?
適当なLinuxをインストールしてサーバーにしてみ
それなら好き勝手にいじれるし誰にも迷惑かけないしタダだ
そっから始めてみたらどう?
487デフォルトの名無しさん (ワッチョイ ab02-Jy+i)
2019/08/05(月) 18:06:59.08ID:9dGEiJ4q0 無料のレンタルサーバもあるんだとか
488デフォルトの名無しさん (アウアウエー Sa13-I1uE)
2019/08/06(火) 01:08:26.13ID:O5zLVi3Ca xreaな
489デフォルトの名無しさん (ワッチョイ 23a9-dfB4)
2019/08/06(火) 05:39:37.94ID:3mWsX+4/0 CentOS6 + Remi php 5.6 で動いているphpは
CentOS7 + Remi php 5.6 でも動くのでしょうか?
DBはOSのリポジトリに登録されているmysqlを使います。
CentOS7 + Remi php 5.6 でも動くのでしょうか?
DBはOSのリポジトリに登録されているmysqlを使います。
490デフォルトの名無しさん (ワッチョイ 7da7-aqzO)
2019/08/09(金) 14:28:42.09ID:NFhVNRcF0 プラットフォームによっては使えない機能や関数もあるけど
使う(必要な)パッケージが揃ってればOSによる差はだいたい設定でどうにかなる
意図的にプログラム側でOSに依存するコードやOSを制限するコード書いてなければ
CentOSのバージョンアップぐらいならそのまま使えるんじゃないの
使う(必要な)パッケージが揃ってればOSによる差はだいたい設定でどうにかなる
意図的にプログラム側でOSに依存するコードやOSを制限するコード書いてなければ
CentOSのバージョンアップぐらいならそのまま使えるんじゃないの
491デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/22(木) 21:17:14.37ID:A5RZDSc30 php内でexecを使って外部コマンドを実行させたいです
ローカルでは成功しますが、
webブラウザだとexecでエラー126(コマンド実行不可能)が返ってきます
やはりサーバー側の問題なのでしょうか?
Xサーバーを使っているんですが、どこをいじればいいのか分からなくて・・
ローカルでは成功しますが、
webブラウザだとexecでエラー126(コマンド実行不可能)が返ってきます
やはりサーバー側の問題なのでしょうか?
Xサーバーを使っているんですが、どこをいじればいいのか分からなくて・・
492デフォルトの名無しさん (ワッチョイ 7aad-HwVO)
2019/08/22(木) 23:13:57.14ID:erkZnaOI0493デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/22(木) 23:31:59.91ID:A5RZDSc30494デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/22(木) 23:47:20.75ID:9/SBo+Lw0 >>493
exeファイルって何?サーバーの既存のコマンド?
exeファイルって何?サーバーの既存のコマンド?
495デフォルトの名無しさん (ワッチョイ 65ca-ak5c)
2019/08/22(木) 23:47:49.02ID:cTorNwQs0 Xサーバって X window のじゃなくてレンタルサーバのことなのか。
それは置いといて、exec エラー126 で検索すると答えっぽい情報があるよ。
実行ファイル名をフルパスで書けばいいとか。
試してないけど。
それは置いといて、exec エラー126 で検索すると答えっぽい情報があるよ。
実行ファイル名をフルパスで書けばいいとか。
試してないけど。
496デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/22(木) 23:55:42.57ID:9/SBo+Lw0 XサーバーってUnix環境だと思うから、その環境で動かせるって事がまず必要だよ
もしかしてWindowsで動作するファイルをアップロードしてない?
もしかしてWindowsで動作するファイルをアップロードしてない?
497デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/22(木) 23:59:05.94ID:A5RZDSc30498デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/23(金) 00:08:16.03ID:R6Gtd6JR0499デフォルトの名無しさん (ワッチョイ 16da-P0k6)
2019/08/23(金) 00:14:11.54ID:qfZoy6uT0 コマンド叩いて動くかまず確認しなさい
500デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/23(金) 00:29:11.19ID:g5amacC60501デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/23(金) 00:40:04.55ID:R6Gtd6JR0 皆さんありがとうございます
根本的に無理ぽな感じですね
一人で煮詰まっていましたが、いろいろ指摘をもらってまた頑張ろうと思います
根本的に無理ぽな感じですね
一人で煮詰まっていましたが、いろいろ指摘をもらってまた頑張ろうと思います
502デフォルトの名無しさん (ワッチョイ 65ca-ak5c)
2019/08/23(金) 01:41:01.56ID:TB/5V8Dm0 ちなみに何をする実行ファイルなの?
503デフォルトの名無しさん (ワッチョイ cdba-sMv4)
2019/08/23(金) 11:24:49.44ID:yZ+ijObJ0 一般的に、鯖側でexec可能になると悪意のないプログラムでもミスで鯖全体を殺してしまうリスクがあるので
鯖屋ではexecは認められない
はずよ
今時は知らんけど
鯖屋ではexecは認められない
はずよ
今時は知らんけど
504デフォルトの名無しさん (ワッチョイ cdba-atfx)
2019/08/23(金) 14:13:06.13ID:R6Gtd6JR0505デフォルトの名無しさん (ワッチョイ cdba-sMv4)
2019/08/23(金) 14:40:43.57ID:yZ+ijObJ0506デフォルトの名無しさん (ササクッテロラ Sp5d-x+Pl)
2019/08/29(木) 08:48:42.39ID:3m6UWwTfp phpとかプログラム言語じゃない、ど素人向け
507デフォルトの名無しさん (ササクッテロル Sp5d-H6Z7)
2019/08/29(木) 09:33:06.07ID:eAc9JexPp ど素人がよくそう言ってるの聞くけどプログラミング言語だよ
508デフォルトの名無しさん (ワッチョイ 9b93-PkBi)
2019/08/31(土) 00:15:45.15ID:OzmC0qXX0 って玄人気取った素人が言ってるけど実際プログラミング言語だよ
509デフォルトの名無しさん (ワッチョイ eb63-cRT5)
2019/08/31(土) 00:40:29.28ID:I1GVoNnD0 それで飯を食っているなら玄人ってことにしてあげて
510デフォルトの名無しさん (ササクッテロル Sp5d-H6Z7)
2019/08/31(土) 01:43:38.02ID:xrNrB7Pcp ランク2多相もGADTもない言語はプログラミング言語じゃない、ど素人向け
511デフォルトの名無しさん (ワッチョイ d1ca-Uik7)
2019/08/31(土) 10:51:06.08ID:8OUIM1e40 アセンブリ言語はどうなる
512デフォルトの名無しさん (ワッチョイ eb63-cRT5)
2019/08/31(土) 11:22:22.84ID:I1GVoNnD0 アセンブリはど素人向けなんだろうな
513デフォルトの名無しさん (ワッチョイ eba7-rkig)
2019/08/31(土) 17:26:18.88ID:y90kZfvt0 煽りが低レベルすぎて
HTMLがプログラム言語じゃないとか言ってるやつと同レベルだな
俺の考えたプログラム言語の定義なんてどうでもいいっす
HTMLがプログラム言語じゃないとか言ってるやつと同レベルだな
俺の考えたプログラム言語の定義なんてどうでもいいっす
514デフォルトの名無しさん (ササクッテロル Sp5d-H6Z7)
2019/08/31(土) 20:12:36.71ID:xrNrB7Pcp いやそんなのよりも、PHPなんてプログラミング言語じゃないって言ってるありがちな初級者と同レベルの煽りなんだと思うけど
515デフォルトの名無しさん (ワッチョイ 593c-cRT5)
2019/08/31(土) 20:47:12.99ID:rDlgaGGg0 HTMLはプログラミング言語ではないけどPHPはプログラミング言語です
516デフォルトの名無しさん (ワッチョイ eba7-rkig)
2019/09/01(日) 01:42:35.50ID:oQ9sDP4c0 重要なのはそこじゃない
ドヤ顔でしょうもない主張するところ
ドヤ顔でしょうもない主張するところ
517デフォルトの名無しさん (ワッチョイ 1301-6s2Y)
2019/09/01(日) 18:47:04.65ID:pi8n90ik0518デフォルトの名無しさん (ワッチョイ eb63-cRT5)
2019/09/01(日) 18:56:01.44ID:be8Xi7zB0 FORTHに変数ってあったっけ?
519デフォルトの名無しさん (ワッチョイ 61ba-kL5O)
2019/09/01(日) 19:24:54.50ID:L/37ZEtD0 HTMLはWEB屋がプログラマーを自称するための鉄板ネタやぞ
520デフォルトの名無しさん (ワッチョイ 0b02-jO9F)
2019/09/01(日) 19:26:15.32ID:dY+gxW9G0 HTMLは演算をされない大きな変数だ
521デフォルトの名無しさん (アウアウウー Sa55-B4Sw)
2019/09/01(日) 20:03:49.25ID:2ExHr6mca phpできない俺からすれば、if使えてる時点で立派なプログラム言語だと思うけどなぁ。
522デフォルトの名無しさん (ワッチョイ d1ca-Uik7)
2019/09/02(月) 02:35:19.10ID:bVR0oMnG0 >>519
HTMLというよりJS(中身はjqueryみたいなのを使ったコピペ)じゃなくて?
HTMLというよりJS(中身はjqueryみたいなのを使ったコピペ)じゃなくて?
523デフォルトの名無しさん (ワッチョイ ebd2-cRT5)
2019/09/03(火) 08:37:44.27ID:+M/fA+P50 HTMLはチューリング完全じゃないからプログラミング言語じゃないな
HTML+CSSはチューリング完全だとか
HTML+CSSはチューリング完全だとか
524デフォルトの名無しさん (ササクッテロル Sp5d-H6Z7)
2019/09/04(水) 02:23:04.72ID:9ku/gwG+p プログラミングのために作られてればルログラミング言語だよ
525デフォルトの名無しさん (ワッチョイ d101-cRT5)
2019/09/04(水) 02:48:53.01ID:tMaJNHAd0 プログラミングのために作られてればエログラミング言語だよ
526デフォルトの名無しさん (ワッチョイ 9b38-cRT5)
2019/09/04(水) 21:58:33.15ID:8xuaC0PC0 初学者です
たとえば「ブログ」ページの「php」カテゴリーの「2」ページ目を表示したい場合、
URL(略~index.php? content=blog &category=php &page=2)
のように、GETメソッドでリンクから送った変数を取得していく方法でよいのでしょうか?
一応表示は出来るのですが、条件をつけるたびにどんどんURLが長くなっていくのが気になって
何か他にもっとスマートな方法があったりします……?
たとえば「ブログ」ページの「php」カテゴリーの「2」ページ目を表示したい場合、
URL(略~index.php? content=blog &category=php &page=2)
のように、GETメソッドでリンクから送った変数を取得していく方法でよいのでしょうか?
一応表示は出来るのですが、条件をつけるたびにどんどんURLが長くなっていくのが気になって
何か他にもっとスマートな方法があったりします……?
527デフォルトの名無しさん (ワッチョイ 593c-cRT5)
2019/09/04(水) 23:00:10.33ID:LjVvm2Gp0 クエリじゃなくてパス(例: /blog/php/2)にすればいいんじゃない
あと普通はblogは独立したアプリになると思うから、/index.php?content=blog よりは /blog.php or /blog/index.php の方が自然
あと普通はblogは独立したアプリになると思うから、/index.php?content=blog よりは /blog.php or /blog/index.php の方が自然
528デフォルトの名無しさん (ワッチョイ 8638-kyym)
2019/09/05(木) 21:12:53.07ID:NNGkGktH0 ありがとうございます
むむむ、WordPress的にコンテンツブロックを入れ替えられるようにするべきなのかと思ったのですが、
やっぱりblog.phpで作る方が自然なんですね
実は独立したアプリという意味がよく分かっていないので、調べてみます
むむむ、WordPress的にコンテンツブロックを入れ替えられるようにするべきなのかと思ったのですが、
やっぱりblog.phpで作る方が自然なんですね
実は独立したアプリという意味がよく分かっていないので、調べてみます
529デフォルトの名無しさん (ワッチョイ 2ea7-OrRa)
2019/09/06(金) 18:31:00.60ID:HnthDg8s0530デフォルトの名無しさん (ワッチョイ dd5f-AFg9)
2019/09/09(月) 04:10:30.20ID:CJs/c5Zv0 絶対にやるなと書いてあったのですが
unset関数でグローバル変数のSESSION自体を消してしまうとどうなるんですか?unset($_SESSION←こんな感じで
そのサーバー上では二度とセッションを使えなくなるとか?取り返しのつかないことになるのですか?
unset関数でグローバル変数のSESSION自体を消してしまうとどうなるんですか?unset($_SESSION←こんな感じで
そのサーバー上では二度とセッションを使えなくなるとか?取り返しのつかないことになるのですか?
531デフォルトの名無しさん (ワッチョイ 2ef2-iQvV)
2019/09/09(月) 07:32:29.32ID:T88U5mPK0 上島竜兵へのフリなんで気にしないでいいよ
532デフォルトの名無しさん (ワッチョイ 2ea7-OrRa)
2019/09/09(月) 14:19:05.34ID:+lHTuL5H0 >>530
少なくとも自分の環境じゃなにもおきない
$_SESSION自体をunsetしたあとも普通に登録できるし
別セッションで変数登録したあとunsetしても別セッションには影響ないし
最悪おかしくなってもサーバ再起動すれば問題ないだろう
まあやるなって言われてることはやらないほうがいいんじゃね
ソースコード読めば何が問題なのかわかるかもしれんが大変だしね
少なくとも自分の環境じゃなにもおきない
$_SESSION自体をunsetしたあとも普通に登録できるし
別セッションで変数登録したあとunsetしても別セッションには影響ないし
最悪おかしくなってもサーバ再起動すれば問題ないだろう
まあやるなって言われてることはやらないほうがいいんじゃね
ソースコード読めば何が問題なのかわかるかもしれんが大変だしね
533デフォルトの名無しさん (ワッチョイ 2ea7-BGeg)
2019/09/09(月) 19:26:46.12ID:TVbaw9og0 >>530
unset($_SESSION)とか全部消そうとするとセッション変数自体が消えて使えなくなるからダメで unset($_SESSION['hope'])とかやるのはok
セッション全部消すならsession_destroyを使う
ログオフする処理に使っているよ
unset($_SESSION)とか全部消そうとするとセッション変数自体が消えて使えなくなるからダメで unset($_SESSION['hope'])とかやるのはok
セッション全部消すならsession_destroyを使う
ログオフする処理に使っているよ
534デフォルトの名無しさん (ワッチョイ dd5f-AFg9)
2019/09/09(月) 21:54:18.14ID:CJs/c5Zv0535デフォルトの名無しさん (ワッチョイ 2e63-kyym)
2019/09/09(月) 23:48:15.95ID:FC2yYF8l0 PHP7で脆弱性見つかる
7.1.32よりも前
7.2.22よりも前
7.3.9よりも前
それぞれアップデートしてくれって
7.1.32よりも前
7.2.22よりも前
7.3.9よりも前
それぞれアップデートしてくれって
536デフォルトの名無しさん (ワッチョイ 311f-qnD4)
2019/09/10(火) 22:14:03.52ID:uk11iNHw0 javascriptの力を借りずに非同期でサーバーサイドに処理投げてサクサク動かすことは可能ですか?
537デフォルトの名無しさん (ワッチョイ 81ca-l2z0)
2019/09/10(火) 22:24:54.71ID:KbtshmUG0538デフォルトの名無しさん (ワッチョイ 453c-kyym)
2019/09/10(火) 22:59:10.53ID:bRYQFbtI0 出来たとしてもやるべきではない
539デフォルトの名無しさん (ワッチョイ 81ca-l2z0)
2019/09/10(火) 23:12:41.69ID:KbtshmUG0 なんで?
540デフォルトの名無しさん (アウアウウー Sa63-pvBM)
2019/09/12(木) 01:45:24.47ID:fy3hyy0Da 「なんで?」に返答するコストが高い問題定期
541デフォルトの名無しさん (ササクッテロラ Sp73-J3NS)
2019/09/12(木) 08:43:07.82ID:s3ehzYuzp それに近い考えでサーバーサイドレンダリングってのがある
流行るかどうかは不明
流行るかどうかは不明
542537 (ワッチョイ 9fca-wSIV)
2019/09/12(木) 09:37:33.95ID:qG3+qr6E0 あー質問の意味を取り違えてた
今ブラウザ上で行ってる処理をサーバサイドでやらせるってことか。
例えばオセロのコンピュータ側の処理をブラウザ上のJSじゃなくてサーバサイドでやるみたいな?
今ブラウザ上で行ってる処理をサーバサイドでやらせるってことか。
例えばオセロのコンピュータ側の処理をブラウザ上のJSじゃなくてサーバサイドでやるみたいな?
543デフォルトの名無しさん (ワッチョイ 7fa7-+fUR)
2019/09/13(金) 14:29:05.39ID:b/fh3Egg0 そもそも非同期処理するのにJavaScriptが必要じゃね
544デフォルトの名無しさん (ワッチョイ ff8c-3oQN)
2019/09/17(火) 13:48:19.74ID:NULA/kfp0 laravelとDBが分かれてる時ってどうやってアクセスしてるの?URL設定なんかあって接続してるのか?
545デフォルトの名無しさん (ワッチョイ 7f2c-HuMN)
2019/09/17(火) 14:56:43.70ID:aFTX7+W50 Ruby on Rails のデータベース設定ファイルには、host という項目があって、そこでホスト名を指定する
host: localhost
host: localhost
546デフォルトの名無しさん (ワッチョイ a95f-e9fJ)
2019/10/08(火) 06:33:05.95ID:M4B81Xan0 $name="山田";
変数$nameに山田と入れ
PDOでデーターベースに接続し
dbh->query('SELECT * FROM table名 WHERE name="$name"');
このようなSQL文を書いたところ変数の$nameがそのまま文字列として扱われて何度やってもデータを取り出せなかったので、
なんとなくダブルクオテーションとシングルクオテーションを入れ替えて
dbh->query("SELECT * FROM table名 WHERE name='$name'");
このようにしたところ上手くいったのですがどういう事なのか分からず、この現象を調べるのに、どう検索していいのか分からなかったので質問させてください
本にはコードを書くときはシングルでもダブルでも好きな方を使ってもいいと書いてあったのですが
SQL文の中では何か決まりがあるのでしょうか?
よろしくお願いします
変数$nameに山田と入れ
PDOでデーターベースに接続し
dbh->query('SELECT * FROM table名 WHERE name="$name"');
このようなSQL文を書いたところ変数の$nameがそのまま文字列として扱われて何度やってもデータを取り出せなかったので、
なんとなくダブルクオテーションとシングルクオテーションを入れ替えて
dbh->query("SELECT * FROM table名 WHERE name='$name'");
このようにしたところ上手くいったのですがどういう事なのか分からず、この現象を調べるのに、どう検索していいのか分からなかったので質問させてください
本にはコードを書くときはシングルでもダブルでも好きな方を使ってもいいと書いてあったのですが
SQL文の中では何か決まりがあるのでしょうか?
よろしくお願いします
547デフォルトの名無しさん (ワッチョイ eaa7-0RA9)
2019/10/08(火) 09:23:10.71ID:ICRAu8JP0 PHPとSQLが混ざってるからごっちゃなんだろう
どっちでもいいってのはSQLの方に対して言ってるんでしょ
変数展開後に
WHERE name='山田'
WHERE name="山田"
となってる状態のことをどっちでもいいって言ってるだけだと思う
んでPHPの変数が展開されるのはダブルのほう
echo "$name"; //変数が展開されるので山田が表示される
echo '$name'; //変数は展開されないので$nameが表示される
シングルで同じことをする場合
"略 WHERE name='" . $name . "'";
のように一回抜けて$nameを連結しないといけない
だいたいPHPの本の最初のほうに書いてることだと思うがね
忘れちまったのかい
どっちでもいいってのはSQLの方に対して言ってるんでしょ
変数展開後に
WHERE name='山田'
WHERE name="山田"
となってる状態のことをどっちでもいいって言ってるだけだと思う
んでPHPの変数が展開されるのはダブルのほう
echo "$name"; //変数が展開されるので山田が表示される
echo '$name'; //変数は展開されないので$nameが表示される
シングルで同じことをする場合
"略 WHERE name='" . $name . "'";
のように一回抜けて$nameを連結しないといけない
だいたいPHPの本の最初のほうに書いてることだと思うがね
忘れちまったのかい
548デフォルトの名無しさん (ワッチョイ eaa7-0RA9)
2019/10/08(火) 09:24:39.62ID:ICRAu8JP0 ↑訂正
"略 WHERE name='" . $name . "'";
↓
'略 WHERE name="' . $name . '"';
ね
"略 WHERE name='" . $name . "'";
↓
'略 WHERE name="' . $name . '"';
ね
549デフォルトの名無しさん (ワッチョイ 6661-uMLw)
2019/10/08(火) 13:37:44.62ID:Xix6Aq9n0 文字列に変数を展開や連結してqueryはSQLインジェクションのおそれもあるのでprepareとexecute使え
$sth = $dbh->prepare('SELECT * FROM table WHERE name=:name');
$sth->execute([':name' => $name]);
$sth = $dbh->prepare('SELECT * FROM table WHERE name=:name');
$sth->execute([':name' => $name]);
550デフォルトの名無しさん (ワッチョイ eaa7-0RA9)
2019/10/08(火) 14:00:48.65ID:ICRAu8JP0 それはたぶん5ページぐらいあとに書いてると思うからあえて言わんかったけど
551デフォルトの名無しさん (ワッチョイ a95f-e9fJ)
2019/10/08(火) 20:15:02.70ID:M4B81Xan0552デフォルトの名無しさん (ワッチョイ 5701-0MPl)
2019/10/12(土) 23:40:21.29ID:TjciH4iB0 親クラスのメソッド内で、protectedコンストラクタを持つサブクラスを生成する場合、
new static()ではなく、クラス名を直接指定してnew SubClass()でも生成出来るのは正常な仕様ですか?
この辺調べても、なかなか出てこないので・・
new static()ではなく、クラス名を直接指定してnew SubClass()でも生成出来るのは正常な仕様ですか?
この辺調べても、なかなか出てこないので・・
553デフォルトの名無しさん (ワッチョイ d7a7-P4H7)
2019/10/13(日) 17:24:19.33ID:54KD8QD50554デフォルトの名無しさん (ワッチョイ 7705-4AsH)
2019/10/16(水) 21:27:10.98ID:3M2x+3910 素朴な疑問、PHPファイルをダウンロードしてきて、コピペでサーバーディレクトリに貼り付けると500エラーになるのってどういう原理?
仮想サーバーで動かしてる方にコピペは動くんだが、ネットのサーバーってFTPとか挟まないともしかしてアップロード出来ない仕組み?
レンタルサーバーで借りてる方はFTP通してアップロードしてて、そんな事起きた事ないから分からん
仮想サーバーで動かしてる方にコピペは動くんだが、ネットのサーバーってFTPとか挟まないともしかしてアップロード出来ない仕組み?
レンタルサーバーで借りてる方はFTP通してアップロードしてて、そんな事起きた事ないから分からん
555デフォルトの名無しさん (ワッチョイ 9f01-osc9)
2019/10/16(水) 21:50:13.55ID:VikEwu130556デフォルトの名無しさん (ワッチョイ b73c-NJTS)
2019/10/16(水) 22:57:49.93ID:S66UuMjo0 パーミッション
557デフォルトの名無しさん (ワッチョイ ff61-eTHQ)
2019/10/16(水) 23:00:50.37ID:N6aKGsVs0 改行コードかも
558デフォルトの名無しさん (ワッチョイ 7705-4AsH)
2019/10/16(水) 23:24:41.77ID:3M2x+3910559デフォルトの名無しさん (ワッチョイ ff63-NJTS)
2019/10/16(水) 23:33:52.64ID:m+bghU330 >>558
viが使えるならそれでソースを開く
行末に ^M って出るかも
DOSの改行はCRLFだが
Unix系はLFだけでいい
取り除きたいなら開いているvi上で
:%s/^M//
と打ち、リターンキー
viが使えるならそれでソースを開く
行末に ^M って出るかも
DOSの改行はCRLFだが
Unix系はLFだけでいい
取り除きたいなら開いているvi上で
:%s/^M//
と打ち、リターンキー
560デフォルトの名無しさん (ワッチョイ ff63-NJTS)
2019/10/16(水) 23:37:26.54ID:m+bghU330 ちょっと不親切だったな
^Mは制御文字なので、CTRL+Vと打ってから続けてCTRL+Mと入力
:%s/^M$//
念のため、$も入れておこう
^Mは制御文字なので、CTRL+Vと打ってから続けてCTRL+Mと入力
:%s/^M$//
念のため、$も入れておこう
561デフォルトの名無しさん (アウアウウー Sa43-P0mv)
2019/10/17(木) 22:47:52.05ID:ScmICnbXa それは 行頭のMだけを削除するという意味?
改行コードが違う時ってどんなふうにviで見えるんだろう
改行コードが違う時ってどんなふうにviで見えるんだろう
562デフォルトの名無しさん (ワッチョイ e363-S3Tg)
2019/10/17(木) 23:11:28.85ID:J+0mBkyh0 掲示板だと区別付かないんだけど
^Mで一文字の制御文字を意味する
vi(vim)の画面で見るとカラー表示するので区別できる
設定次第だけども
^Mで一文字の制御文字を意味する
vi(vim)の画面で見るとカラー表示するので区別できる
設定次第だけども
563デフォルトの名無しさん (ワッチョイ 3702-BV4E)
2019/10/18(金) 01:08:35.01ID:kVATbc+M0 改行コードでエラーになるのか
どっちでもエラーに遭遇したことなかったから勉強になった・・・ような
どうせ忘れてしまう可能性が高杉
どっちでもエラーに遭遇したことなかったから勉強になった・・・ような
どうせ忘れてしまう可能性が高杉
564デフォルトの名無しさん (ワッチョイ 8ac5-qV4/)
2019/11/03(日) 21:12:04.91ID:A7Digd0J0 PHPってインタプリタですか?
565デフォルトの名無しさん (ワッチョイ 9fc5-DaD1)
2019/11/07(木) 18:25:52.30ID:pG3Lscph0 なんでだれも答えてくれないんですか!プンプン!
もういいです自分で調べます!
もういいです自分で調べます!
566デフォルトの名無しさん (アウアウエー Sa3f-AXNO)
2019/11/12(火) 23:24:53.56ID:53ocb9qja オレンジクインという葉が黄色い白菜は緑黄色野菜になるのでしょうか?
567デフォルトの名無しさん (オッペケ Sr11-wiCk)
2019/11/14(木) 11:52:42.61ID:UbsUbcmDr PHPを勉強しますが、いわゆる駄目なコード(メンテ不能とか他人が読めないとか)を書かないようにするための方法がまとめられた書籍とかWebサイトってありますか?
ググって見ましたが、Githubの他人のコードを読むとかとにかくググるとかで、お手本が一箇所にまとめてあるような事例が見つかりません
そもそもプログラミング初心者なのでどういうコードが良くて駄目なのか根拠が無いと理解できないので、Webサイトで調べるのはちょっとハードル高いです
ググって見ましたが、Githubの他人のコードを読むとかとにかくググるとかで、お手本が一箇所にまとめてあるような事例が見つかりません
そもそもプログラミング初心者なのでどういうコードが良くて駄目なのか根拠が無いと理解できないので、Webサイトで調べるのはちょっとハードル高いです
568デフォルトの名無しさん (ワッチョイ e902-yJHQ)
2019/11/14(木) 12:34:11.76ID:yaNNoKNo0 最初から完璧を目指してると前に進まない上に身にも付かないんで
気にせずガンガン組んで経験値上げた方がいいよ
経験値上げる=ダメコードが分かってくる
気にせずガンガン組んで経験値上げた方がいいよ
経験値上げる=ダメコードが分かってくる
569デフォルトの名無しさん (ワッチョイ 06a0-wiCk)
2019/11/14(木) 12:34:45.58ID:4neB2vdG0 リーダブルコードとかじゃね
読んだこと無いけど
読んだこと無いけど
570デフォルトの名無しさん (ワッチョイ d163-iGNt)
2019/11/14(木) 12:49:12.10ID:lyAVwglk0 読みやすいコード手法やアルゴリズムを勉強したいなら、
もっとシンプルな、例えばC言語や、Javaで勉強しtが方が良いと思う
PHPはどちらかと言うと実用本位で動けば何でもありの書き方してしまうから
人によって書き方も違うし、手本にして学ぶというのには向かない気がする
もっとシンプルな、例えばC言語や、Javaで勉強しtが方が良いと思う
PHPはどちらかと言うと実用本位で動けば何でもありの書き方してしまうから
人によって書き方も違うし、手本にして学ぶというのには向かない気がする
571デフォルトの名無しさん (ワッチョイ e189-wiCk)
2019/11/14(木) 14:29:48.81ID:YV+wn0qT0 >>567
初心者にあれこれ言っても仕方ないと思うので
Beauty Is in Simplicity code
という言葉を送る
日本語訳は「美はシンプルさに宿る」や「プログラマが知るべき97のこと」でググるといい
初心者にあれこれ言っても仕方ないと思うので
Beauty Is in Simplicity code
という言葉を送る
日本語訳は「美はシンプルさに宿る」や「プログラマが知るべき97のこと」でググるといい
572デフォルトの名無しさん (ワッチョイ d163-iGNt)
2019/11/14(木) 14:38:58.41ID:j9FdlXq90 キモ
573デフォルトの名無しさん (ワッチョイ 8201-k7wz)
2019/11/14(木) 18:46:20.22ID:dCzlDN8+0574デフォルトの名無しさん (オッペケ Sr11-wiCk)
2019/11/15(金) 17:40:16.12ID:3geqpL2yr >>568-573
初心者のうちから変な癖をつけないようにしたと思いましたが
あれこれ手を広げないほうがいいかなとも思っていました
PHP自体が可読性より生産性を重視してるのなら
初心者のうちは経験値を積んで生産性をあげて
次のステップとしてリーダブルコードで読みやすさなどを学ぶことにします
みなさん回答ありがとうございました
初心者のうちから変な癖をつけないようにしたと思いましたが
あれこれ手を広げないほうがいいかなとも思っていました
PHP自体が可読性より生産性を重視してるのなら
初心者のうちは経験値を積んで生産性をあげて
次のステップとしてリーダブルコードで読みやすさなどを学ぶことにします
みなさん回答ありがとうございました
575デフォルトの名無しさん (ブーイモ MM76-Xz/Q)
2019/11/15(金) 17:49:19.08ID:oPXVgqk1M 実際に動いているPHPって
HTMLのソースみたいにソースコードを見ることは、できないのですか?
HTMLのソースみたいにソースコードを見ることは、できないのですか?
576デフォルトの名無しさん (ワッチョイ d163-jvSr)
2019/11/15(金) 17:54:31.71ID:NeivSIGq0 観客席からは見れない
舞台裏に回れば見れる
舞台裏に回れば見れる
577デフォルトの名無しさん (ブーイモ MM76-Xz/Q)
2019/11/15(金) 18:01:55.55ID:oPXVgqk1M PHPのソースは見れるかと聞いておるのだ。
誰か分かる者はいないのか?
この馬鹿モンが!
誰か分かる者はいないのか?
この馬鹿モンが!
578デフォルトの名無しさん (ワッチョイ 06a0-wiCk)
2019/11/15(金) 18:36:29.53ID:kIm7g0zF0 厳密に言えば見れるよ、ハック的な手段で
たまにソースコード流出とかって騒ぎになってるじゃん、あれやれば見れる
頑張って勉強しろ
たまにソースコード流出とかって騒ぎになってるじゃん、あれやれば見れる
頑張って勉強しろ
579デフォルトの名無しさん (ワッチョイ d163-jvSr)
2019/11/15(金) 18:47:26.76ID:NeivSIGq0 念のため書いておくけど、
サイト側の設定ミスだとしても、
サイト側が公開を意図していないものの取得は
不正アクセスとなります
サイト側の設定ミスだとしても、
サイト側が公開を意図していないものの取得は
不正アクセスとなります
580デフォルトの名無しさん (ブーイモ MMb2-+PZ0)
2019/12/02(月) 18:02:15.74ID:uWhstvBwM 初心者です。
PHP7.2にてfile_get_contentsにてHTMLを
全取得するテストをしているのですが、
youtube、yahoo.co.jpのトップページは
全取得できますが、
Tver.jpなどの一部サイトでは、HTMLの一部が取得できないのですが、
この違いが何なのか分からず。。
コンテキストオプションはchromeのデベロッパーツールと同内容をいずれも使用しています。
一部しか取得できないだけで、errorが返ってきているわけではありません。
このようなケースで想定される原因は何か、
お教え下さい。
PHP7.2にてfile_get_contentsにてHTMLを
全取得するテストをしているのですが、
youtube、yahoo.co.jpのトップページは
全取得できますが、
Tver.jpなどの一部サイトでは、HTMLの一部が取得できないのですが、
この違いが何なのか分からず。。
コンテキストオプションはchromeのデベロッパーツールと同内容をいずれも使用しています。
一部しか取得できないだけで、errorが返ってきているわけではありません。
このようなケースで想定される原因は何か、
お教え下さい。
581デフォルトの名無しさん (ワッチョイ 36a0-o7DB)
2019/12/02(月) 18:12:49.06ID:OjDe9qis0 その関数フロントで生成されるコードは取得できなかった筈なんでそれじゃね
仮想端末挟んで生成してもらってからソース取得の処理作るかで悩んだ覚えある
結局pythonとかJavaScriptにクローラー向きのAPI一杯あるからそっちで操作した方がラクって結論に落ち着いたけど
仮想端末挟んで生成してもらってからソース取得の処理作るかで悩んだ覚えある
結局pythonとかJavaScriptにクローラー向きのAPI一杯あるからそっちで操作した方がラクって結論に落ち着いたけど
582デフォルトの名無しさん (ワッチョイ 5ea7-8b9h)
2019/12/02(月) 19:19:41.96ID:VMZvMN3R0 解決したから原因までは特定しなかったけど
fsockopenだとうまくいくけど
file_get_contentsじゃうまくいかない
ということはあったな
同じcontext使ってるんだけどね
cURL使うと多分うまくいくよ
fsockopenだとうまくいくけど
file_get_contentsじゃうまくいかない
ということはあったな
同じcontext使ってるんだけどね
cURL使うと多分うまくいくよ
583デフォルトの名無しさん (ワッチョイ d9c9-+PZ0)
2019/12/03(火) 23:22:42.46ID:8Kx0IsVg0584デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/12/04(水) 01:38:24.44ID:9qyS2PwK0 例えば、5ch みたいに最初に、空のHTML を送ってきてから、
その後、Ajax で内容をサーバーから取得するようなページでは、
普通のクローラーでは、確実に取得できない
そういう場合は、Ruby などで、Selenium WebDriver を使って、
人がやるのと同じように、ブラウザを操作すれば取得できる
その後、Ajax で内容をサーバーから取得するようなページでは、
普通のクローラーでは、確実に取得できない
そういう場合は、Ruby などで、Selenium WebDriver を使って、
人がやるのと同じように、ブラウザを操作すれば取得できる
585デフォルトの名無しさん (ワッチョイ 5ea7-8b9h)
2019/12/04(水) 07:43:35.40ID:xeP1zjgo0 JS挟んだあとのコードがほしいって話なのか
ソースの表示のソースが取れればいいものかと
そりゃ普通にやってちゃ無理だわな
ソースの表示のソースが取れればいいものかと
そりゃ普通にやってちゃ無理だわな
586デフォルトの名無しさん (ワッチョイ c508-o7DB)
2019/12/04(水) 10:39:16.66ID:ynT0rzJO0 まぁ今どきPHPでスクレイピングなんてやらないしな
Python使えPython
Python使えPython
587デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/12/04(水) 11:38:04.31ID:HJOtve5N0 ここはPHPのスレ
588デフォルトの名無しさん (ワッチョイ 36a0-o7DB)
2019/12/04(水) 11:52:57.07ID:M0bOyCLn0 だからどうした
そもそも向いてねンだから無理矢理処理作ったってしゃーねーだろ
何でもかんでも手作業で作ってたらキリねーぞラクな方行けラクな方
そもそも向いてねンだから無理矢理処理作ったってしゃーねーだろ
何でもかんでも手作業で作ってたらキリねーぞラクな方行けラクな方
589デフォルトの名無しさん (オイコラミネオ MM91-28Z4)
2019/12/04(水) 12:51:22.94ID:uy3yV12YM pythonはスクレイピングしやすいの?
ちょっと興味出てきた
ちょっと興味出てきた
590デフォルトの名無しさん (ワッチョイ a291-ByFH)
2019/12/04(水) 12:56:11.50ID:kZk+LcEC0 へんなやつにからまれているね
591デフォルトの名無しさん (ワッチョイ 1261-luhV)
2019/12/04(水) 13:46:24.53ID:I65RuVdL0 python自体がjavascript動かしてスクレイピングできるわけじゃないよ
たいていwebdriverでheadless chrome動かしてそれを取るだけ
phpにもwebdriverはあるので同様のことはできる
たいていwebdriverでheadless chrome動かしてそれを取るだけ
phpにもwebdriverはあるので同様のことはできる
592デフォルトの名無しさん (ワッチョイ c508-o7DB)
2019/12/04(水) 16:23:36.96ID:ynT0rzJO0593デフォルトの名無しさん (ワッチョイ 36a0-o7DB)
2019/12/04(水) 16:56:56.54ID:M0bOyCLn0 >>592
能無しっていうか
まぁこだわりがあるなら別にそれでもいいとは思うよ
内部動作のよく分からん機械に依存するのが不安だって気持ちも分かるし
彫刻刀一本であらゆるものを作りたいって人を否定する気は無い
電ノコやドリルが入った工具箱が横に置いてあるなら俺はそっち使うけど
能無しっていうか
まぁこだわりがあるなら別にそれでもいいとは思うよ
内部動作のよく分からん機械に依存するのが不安だって気持ちも分かるし
彫刻刀一本であらゆるものを作りたいって人を否定する気は無い
電ノコやドリルが入った工具箱が横に置いてあるなら俺はそっち使うけど
594デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/12/04(水) 17:22:33.33ID:HJOtve5N0 職場で叱られたのかな?
595デフォルトの名無しさん (ワッチョイ 4b5f-q31q)
2019/12/12(木) 00:04:39.58ID:8N8BhmJA0 phpStormでアロー演算子使って無名関数宣言すると警告出るのどうしてる?
596デフォルトの名無しさん (ワッチョイ e2a9-kui+)
2019/12/16(月) 00:10:56.73ID:eA/7D1/t0 古い環境から新しい環境に、古いプログラムを移行したいのですが、
古い環境でphpinfoでtimezoneがAsia/Tokyoになっているのに
php.iniや、php.d/*にはその項目がありません。
# php -i | grep timezone
Default timezone => Asia/Tokyo
date.timezone => no value => no value
# grep Tokyo /etc/php.ini
#
# grep Tokyo /etc/php.d/*
#
あと、ログにエラーが出ないので調べると
# php -i | grep error_report
error_reporting => 0 => 0
# grep error_report /etc/php.ini
error_reporting = E_ALL & E_STRICT
と矛盾した感じになっていますが、どこにその設定が書かれているか探す方法はあるのでしょうか?
古い環境でphpinfoでtimezoneがAsia/Tokyoになっているのに
php.iniや、php.d/*にはその項目がありません。
# php -i | grep timezone
Default timezone => Asia/Tokyo
date.timezone => no value => no value
# grep Tokyo /etc/php.ini
#
# grep Tokyo /etc/php.d/*
#
あと、ログにエラーが出ないので調べると
# php -i | grep error_report
error_reporting => 0 => 0
# grep error_report /etc/php.ini
error_reporting = E_ALL & E_STRICT
と矛盾した感じになっていますが、どこにその設定が書かれているか探す方法はあるのでしょうか?
597デフォルトの名無しさん (ワッチョイ fb63-xO71)
2019/12/16(月) 00:12:25.13ID:9m9cmyeR0 >>596
せめて古い環境、新しい環境のバージョンくらいは教えてくれないと
せめて古い環境、新しい環境のバージョンくらいは教えてくれないと
598デフォルトの名無しさん (ワッチョイ e2a9-kui+)
2019/12/16(月) 00:23:45.45ID:eA/7D1/t0 申し訳無いです。
CentOS5 の PHP 5.1.6 (cli)です。
新しい環境はCentoOS7のbaseにある5.4にて動くか試しているのですが、たくさんnoticeやwarningが出ていますが、
とりあえずこの古い環境でTokyoがどこから来ているか不思議な感じです。
CentOS5 の PHP 5.1.6 (cli)です。
新しい環境はCentoOS7のbaseにある5.4にて動くか試しているのですが、たくさんnoticeやwarningが出ていますが、
とりあえずこの古い環境でTokyoがどこから来ているか不思議な感じです。
599デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/16(月) 00:30:59.80ID:+KWK+mzK0600デフォルトの名無しさん (ワッチョイ fb63-xO71)
2019/12/16(月) 00:42:43.65ID:9m9cmyeR0601デフォルトの名無しさん (ワッチョイ fb63-xO71)
2019/12/16(月) 00:49:25.28ID:9m9cmyeR0 >>600は、CentoOS7のPH5.4での話ね
602デフォルトの名無しさん (ワッチョイ e2a9-kui+)
2019/12/16(月) 01:07:00.48ID:eA/7D1/t0 >>599
なんと環境変数から取っていたのですか・・・ありがとうございます。
5.1.6@CentOS5で
# grep Tokyo /etc/*/*
/etc/sysconfig/clock:ZONE="Asia/Tokyo"
となるとここから取っていたことになりそうです。
つまりは、この古い環境を作った人は、timezoneの項目をコメントアウトして編集していなかったのですね。
あと、ここがわからないのですが、
5.1.6における php.iniのerror_reporting のデフォルト値は コメントアウトして
error_reporting = E_ALL & E_STRICT とあるのですが、
あるプログラムで、新環境5.4では出てくるPHP Notice: Undefined variable:が、この5.1.6で出ないのは
# php -i | grep error_report
error_reporting => 0 => 0
この「0」が効いているからでしょうか? php.iniの設定がどこかで無効に上書きされていると考えればいいのでしょうか?
>>600-601
はい、新しい環境ではphp.iniに記載します
なんと環境変数から取っていたのですか・・・ありがとうございます。
5.1.6@CentOS5で
# grep Tokyo /etc/*/*
/etc/sysconfig/clock:ZONE="Asia/Tokyo"
となるとここから取っていたことになりそうです。
つまりは、この古い環境を作った人は、timezoneの項目をコメントアウトして編集していなかったのですね。
あと、ここがわからないのですが、
5.1.6における php.iniのerror_reporting のデフォルト値は コメントアウトして
error_reporting = E_ALL & E_STRICT とあるのですが、
あるプログラムで、新環境5.4では出てくるPHP Notice: Undefined variable:が、この5.1.6で出ないのは
# php -i | grep error_report
error_reporting => 0 => 0
この「0」が効いているからでしょうか? php.iniの設定がどこかで無効に上書きされていると考えればいいのでしょうか?
>>600-601
はい、新しい環境ではphp.iniに記載します
603デフォルトの名無しさん (ワッチョイ e2da-6dnz)
2019/12/16(月) 10:08:56.19ID:ATUYW4cO0 date()よりgmdate()+9*60*60の方が速い
604デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/16(月) 13:14:39.22ID:49FYnnWe0 JavaScript でも、サーバー側のNode.js では、UTC。
一方、クライアント側のブラウザでは、Local Time
たぶん、Ruby, PHP もサーバー側だから、UTC にしたいのだろう
一方、クライアント側のブラウザでは、Local Time
たぶん、Ruby, PHP もサーバー側だから、UTC にしたいのだろう
605デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/16(月) 13:57:00.03ID:+KWK+mzK0 >>602
>この「0」が効いているからでしょうか? php.iniの設定がどこかで無効に上書きされていると考えればいいのでしょうか?
デフォルトはNULLなのでどっかで設定してるんじゃないのかな
$ php -i | grep '¥.ini'
で他に読み込んでる設定がないか確認するといいと思う
>この「0」が効いているからでしょうか? php.iniの設定がどこかで無効に上書きされていると考えればいいのでしょうか?
デフォルトはNULLなのでどっかで設定してるんじゃないのかな
$ php -i | grep '¥.ini'
で他に読み込んでる設定がないか確認するといいと思う
606デフォルトの名無しさん (ワッチョイ e2a9-kui+)
2019/12/17(火) 08:18:32.19ID:gtJVJ+Ck0 >>605
/etc/php.ini, /etc/php.d/*.iniが対象でしたが、
php.iniのerror_reporting = E_ALL & E_STRICTだけでした。
不思議な感じですが新しい環境へ移していこうと思います。
/etc/php.ini, /etc/php.d/*.iniが対象でしたが、
php.iniのerror_reporting = E_ALL & E_STRICTだけでした。
不思議な感じですが新しい環境へ移していこうと思います。
607デフォルトの名無しさん (ワッチョイ 6b08-kui+)
2019/12/17(火) 17:27:08.07ID:0aBJN6Tz0 E_ALL & E_STRICT
って設定懐かしいな。何年前のPHPだw
って設定懐かしいな。何年前のPHPだw
608デフォルトの名無しさん (スプッッ Sd22-q31q)
2019/12/18(水) 01:07:49.35ID:qvYpa8W8d 74のpreloadとffiめっちゃいいな。
いいんだけど、ffi現場で使ってる人いる?
いいんだけど、ffi現場で使ってる人いる?
609デフォルトの名無しさん (ワッチョイ 6b08-kui+)
2019/12/18(水) 14:51:51.17ID:lrTyYwVn0 現場投入はまだだな
Preloadingは素敵すぎるが、
Foreign Function InterfaceってPHPに要るかね?
Preloadingは素敵すぎるが、
Foreign Function InterfaceってPHPに要るかね?
610デフォルトの名無しさん (ワッチョイ 6b08-kui+)
2019/12/18(水) 14:54:39.35ID:lrTyYwVn0 FFIのRFC調べたら
賛成24の反対15で切り可決か
これ昔PECLにあったやつだよな
まぁそうだろうなw
賛成24の反対15で切り可決か
これ昔PECLにあったやつだよな
まぁそうだろうなw
611デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/19(木) 00:22:50.43ID:F9c8Ivhx0 >>609
ffi、とても便利だけど、phpの現場でなんでphpかって、その言語で書く事が求められているからであってffi使うならphp使わないよねーっていうそもそも論もあると思う
preloadはプロセス再起動しないといけないからコンテナ向きだよね
ffi、とても便利だけど、phpの現場でなんでphpかって、その言語で書く事が求められているからであってffi使うならphp使わないよねーっていうそもそも論もあると思う
preloadはプロセス再起動しないといけないからコンテナ向きだよね
612デフォルトの名無しさん (ワッチョイ ff02-lgca)
2019/12/19(木) 13:14:56.57ID:FXNFzpmL0 <button class="bubbly-button">
<a href="http://coonelnel.net/" target="_blank" rel="nofollow noopener">素人</a>
</a>に
<a href="http://coonelnel.net/" target="_blank" rel="nofollow noopener">素人</a>
</a>に
613デフォルトの名無しさん (ワッチョイ ff02-lgca)
2019/12/19(木) 13:16:43.14ID:FXNFzpmL0 https://stackoverflow.com/questions/41801228/made-image-click-counter-which-is-buggy
を配置する場合どこに記載すればよいでしょうか?
を配置する場合どこに記載すればよいでしょうか?
614デフォルトの名無しさん (ワッチョイ ffa7-FRUu)
2019/12/19(木) 14:16:57.37ID:hMraMf9D0 exec系関数にあわせて外部プログラム作ってたから
ffiはだいぶ楽が出来るようになるな
まあ肝心のCを知らないんだけどw
ffiはだいぶ楽が出来るようになるな
まあ肝心のCを知らないんだけどw
615デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/19(木) 14:29:44.98ID:dMnFAlGo0 そりゃ、Ruby だって、C をほとんど知らない人が、FFI を使っているのは、PHP と同じw
616デフォルトの名無しさん (スプッッ Sd3f-B9Tc)
2019/12/19(木) 20:19:58.91ID:e3NBcS5sd >>613
これをwebページのどこ家に埋め込みたいんだけど、どのファイルに書けばいいのかってこと?
これをwebページのどこ家に埋め込みたいんだけど、どのファイルに書けばいいのかってこと?
617デフォルトの名無しさん (ワッチョイ 5701-uI9Z)
2019/12/19(木) 20:31:21.94ID:25wRxCsd0618デフォルトの名無しさん (ワッチョイ 97da-prDO)
2019/12/19(木) 21:42:57.77ID:4pMiKlwl0 PHP要素どこだよ
619デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/19(木) 23:07:07.63ID:F9c8Ivhx0 >>617
まず君の環境でphoは動くの?
まず君の環境でphoは動くの?
620デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/19(木) 23:08:20.16ID:F9c8Ivhx0 php
621デフォルトの名無しさん (ワッチョイ 5701-uI9Z)
2019/12/20(金) 03:02:34.89ID:IBAvNOD/0 >>619
サーバーを借りるので動くと思います
サーバーを借りるので動くと思います
622デフォルトの名無しさん (ワッチョイ 7708-mhYo)
2019/12/20(金) 18:43:33.55ID:Xr6FOCXd0 >>611
> っていうそもそも論もあると思う
そそ
これRFCで賛成24の反対15だから、今のRFCルール(要2/3の賛成)だと否決されてた代物だ
https://externals.io/message/103613
で議論されてるが、俺はJefferson Gonzalezの意見に賛成だな
今更いっても仕方ないけどw
> っていうそもそも論もあると思う
そそ
これRFCで賛成24の反対15だから、今のRFCルール(要2/3の賛成)だと否決されてた代物だ
https://externals.io/message/103613
で議論されてるが、俺はJefferson Gonzalezの意見に賛成だな
今更いっても仕方ないけどw
623デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/21(土) 01:48:26.48ID:BiuKyk5n0624デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/21(土) 01:50:43.85ID:BiuKyk5n0625デフォルトの名無しさん (ワッチョイ 97da-prDO)
2019/12/21(土) 17:17:00.28ID:IDzKgSWy0 Jefferson Gonzalezの意見って明らかにFFI導入に賛成なんだけど
626デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/22(日) 01:04:31.99ID:ngrj6zpx0 >>625
c書けるスキルがあるのにphpの現場にいる人間が幸せになるよってとこなのかな
c書けるスキルがあるのにphpの現場にいる人間が幸せになるよってとこなのかな
627デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/22(日) 01:24:13.80ID:buP4BnNs0 GoやRustやC#でもFFI書けるよ
628デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/23(月) 00:53:27.33ID:2qWBTAwK0629デフォルトの名無しさん (ワッチョイ 9f07-Rp4x)
2019/12/24(火) 17:13:26.50ID:oJYJsXMm0 exec関数でサーバのコマンドを実行できますが、
ソフトウェアをインストールするときなどに表示される
「キーボードのyを押してインストールを進める」
みたいな処理もexecで行うことができるのでしょうか?
もしできる場合、どのように書けばいいか教えて下さい
ソフトウェアをインストールするときなどに表示される
「キーボードのyを押してインストールを進める」
みたいな処理もexecで行うことができるのでしょうか?
もしできる場合、どのように書けばいいか教えて下さい
630デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 17:23:02.72ID:4UlhXCkA0 >>629
バッチで動かすことを想定しているプログラムには
例えば起動オプションに "-y" が用意されてあって
キーボード応答全てにyが打たれたとして動作するものもある
動かしたいプログラム次第だと思うが
こういうものなら動かせるかもしれない
そうで無い場合は、プログラムからの応答を判断しながら
動かさないと、想定出来ない問題が起きかねないのでは
バッチで動かすことを想定しているプログラムには
例えば起動オプションに "-y" が用意されてあって
キーボード応答全てにyが打たれたとして動作するものもある
動かしたいプログラム次第だと思うが
こういうものなら動かせるかもしれない
そうで無い場合は、プログラムからの応答を判断しながら
動かさないと、想定出来ない問題が起きかねないのでは
631デフォルトの名無しさん (ワッチョイ 9f5c-+Tiu)
2019/12/24(火) 17:57:31.74ID:SDqv4krt0 >>629
yes
yes
632デフォルトの名無しさん (ワッチョイ 775f-B9Tc)
2019/12/25(水) 00:49:42.46ID:oMbV4Iar0 >>629
yesかecho yesをpipeで渡す
yesかecho yesをpipeで渡す
633デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 12:42:04.67ID:ZI663GBY0 漏れは、自分のPC で、
Windows10, WSL, Ubuntu16.04 で、全パッケージの更新をするのに、
Ruby で、sudo のパスワードの入力とか、
apt-get の-y で、yes の入力もやってる
#!/usr/bin/ruby
# frozen_string_literal: true
# 全パッケージの更新
# sudo のパスワードを自動入力する
# echo <your_password> | sudo -S <your_command>
puts `echo パスワード | sudo -S apt-get update`
puts `sudo apt-get upgrade -yV`
Windows10, WSL, Ubuntu16.04 で、全パッケージの更新をするのに、
Ruby で、sudo のパスワードの入力とか、
apt-get の-y で、yes の入力もやってる
#!/usr/bin/ruby
# frozen_string_literal: true
# 全パッケージの更新
# sudo のパスワードを自動入力する
# echo <your_password> | sudo -S <your_command>
puts `echo パスワード | sudo -S apt-get update`
puts `sudo apt-get upgrade -yV`
634629 (ワッチョイ 9f07-Rp4x)
2019/12/25(水) 23:05:26.90ID:+4x8Vudl0635デフォルトの名無しさん (ワッチョイ 9f5c-+Tiu)
2019/12/25(水) 23:45:00.44ID:TuXJcfTM0 yesっていうコマンドがあるんだよ
exec('yes | create database hogehoge');
-yオプション的なのををサポートしてるかどうかはそのコマンドのマニュアル読んで
exec('yes | create database hogehoge');
-yオプション的なのををサポートしてるかどうかはそのコマンドのマニュアル読んで
636629 (ワッチョイ 7007-35Sh)
2019/12/26(木) 00:03:12.37ID:QbBK51Lf0637蟻人間 ◆T6xkBnTXz7B0 (スププ Sd70-v2sp)
2019/12/26(木) 06:40:21.95ID:kwmHN0pwd yesはLinuxのコマンド。
638デフォルトの名無しさん (アウアウウー Sa83-qd4h)
2019/12/26(木) 07:36:02.91ID:G8FNklXra639デフォルトの名無しさん (オッペケ Srd7-q4Cy)
2019/12/27(金) 00:29:11.90ID:TcF0JrOBr PHPの環境構築ってWindowsの場合どの方法が主流なのかね
検索するとXAMPPの記事ばかり出てくるけど手軽な一方環境を汚すんで微妙な気がするんだが
検索するとXAMPPの記事ばかり出てくるけど手軽な一方環境を汚すんで微妙な気がするんだが
640デフォルトの名無しさん (ワッチョイ e902-e8fP)
2019/12/27(金) 00:38:09.97ID:Jp3jdKct0 Windows自体が汚れてるんだから気にしないの
641デフォルトの名無しさん (ワッチョイ 1a63-K0SF)
2019/12/27(金) 00:44:39.91ID:EEOcwadQ0 自分なら、仮想環境を構築してその中でやりたい
642デフォルトの名無しさん (ワッチョイ a601-LIdJ)
2019/12/27(金) 08:17:09.42ID:4FJgkgoK0 PHPの勉強が目的ならXAMPPやMANPでいいと思うけどな
仮想環境やらの設定や不具合で時間食ってたら元も子もない
仮想環境やらの設定や不具合で時間食ってたら元も子もない
643デフォルトの名無しさん (ワッチョイ 1a63-K0SF)
2019/12/27(金) 10:56:24.24ID:EEOcwadQ0 その程度の知識は何れにしろ必要だろう
644デフォルトの名無しさん (ワントンキン MMac-HCDf)
2019/12/27(金) 11:51:48.01ID:54ZzlDGdM 初心者にいきなり全CUI操作を強いるのはどうかと思う
VirtualBoxあたりでUbuntu入れて環境構築させればいいんじゃない
VirtualBoxあたりでUbuntu入れて環境構築させればいいんじゃない
645デフォルトの名無しさん (ワッチョイ 468c-1wr4)
2020/01/02(木) 18:10:26.21ID:NsD5otxd0 PHPを使ったサーバーサイドってどんなことしてるの?
ここはSQLの内部データ表示したいからhtmlの中にdivタグ付けて関数呼び出してってそんな感じでやってるの?
ここはSQLの内部データ表示したいからhtmlの中にdivタグ付けて関数呼び出してってそんな感じでやってるの?
646デフォルトの名無しさん (ワッチョイ 49a7-BfT8)
2020/01/03(金) 20:24:16.45ID:9LIAX5hH0 >>645
別にPHPに限ったことじゃないけどサーバサイドでやることはだいたいそんな感じ
別にPHPに限ったことじゃないけどサーバサイドでやることはだいたいそんな感じ
647デフォルトの名無しさん (ワッチョイ 468c-1wr4)
2020/01/04(土) 03:43:48.23ID:5wVpG03+0 やっぱそうなんか、SQLのログイン設定とかばれるからそうやって防いだり動的処理するんか
648デフォルトの名無しさん (ワッチョイ 4202-E95m)
2020/01/04(土) 05:01:29.27ID:E/0LWI5y0 何言ってんだかわかんない
649デフォルトの名無しさん (ワッチョイ fe89-GYAN)
2020/01/04(土) 23:05:43.91ID:9+8EnAbP0 質問です。
環境はMacでXAMPPを使っています。
エラーが出てググったところgdの「JPG Support」がないからだというところまでわかりました。
ですがサポートのさせ方がわかりません。
どうするといいのでしょうか?
環境はMacでXAMPPを使っています。
エラーが出てググったところgdの「JPG Support」がないからだというところまでわかりました。
ですがサポートのさせ方がわかりません。
どうするといいのでしょうか?
650デフォルトの名無しさん (アウアウウー Saa5-g2RO)
2020/01/04(土) 23:16:35.72ID:9cRomv9Ua php7環境でpear mailを練習していたところ、
Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/pear/Mail/smtp.php on line 349
が出るので調べてみると非対応のようですが、
何に置き換えるのが一般的なのでしょうか?
mail、mb_send_mailでも良いのでしょうか?
これらがあるのにpear mailが利用されていたのでしょうか?
Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/pear/Mail/smtp.php on line 349
が出るので調べてみると非対応のようですが、
何に置き換えるのが一般的なのでしょうか?
mail、mb_send_mailでも良いのでしょうか?
これらがあるのにpear mailが利用されていたのでしょうか?
651デフォルトの名無しさん (アウアウウー Saa5-g2RO)
2020/01/04(土) 23:34:51.34ID:9cRomv9Ua SMTP.phpの該当箇所349行目を見ると
$this->_smtp = &new Net_SMTP($this->host,
とあったので、&new を new に置き換えると
エラーは出なくなりましたが。
さすがにソースを変えるのは良くないと思いますが、
php7用のpear mailがremiから提供されているのでしょうか?
他の方法を検討するべきでしょうか?
$this->_smtp = &new Net_SMTP($this->host,
とあったので、&new を new に置き換えると
エラーは出なくなりましたが。
さすがにソースを変えるのは良くないと思いますが、
php7用のpear mailがremiから提供されているのでしょうか?
他の方法を検討するべきでしょうか?
652デフォルトの名無しさん (ワッチョイ 49a7-BfT8)
2020/01/04(土) 23:54:26.28ID:LM3WrULI0653デフォルトの名無しさん (ワッチョイ fe89-GYAN)
2020/01/05(日) 00:03:45.20ID:ftX4LjxF0 >>652
エラーは
Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg() in /Applications/XAMPP/xamppfiles/htdocs/php/sample2.php:5 Stack trace: #0 {main} thrown
です。
ググったところgdの「JPG Support」がないとのことで、phpinfoで調べたところ実際にありませんでした。
extension=php_gd2.dllのコメント化も解除し、再起動しましたがまだエラーになります。
エラーは
Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg() in /Applications/XAMPP/xamppfiles/htdocs/php/sample2.php:5 Stack trace: #0 {main} thrown
です。
ググったところgdの「JPG Support」がないとのことで、phpinfoで調べたところ実際にありませんでした。
extension=php_gd2.dllのコメント化も解除し、再起動しましたがまだエラーになります。
654デフォルトの名無しさん (ワッチョイ 468c-1wr4)
2020/01/05(日) 00:08:18.80ID:mNtiIqp60 https://ideone.com/VwTTUI
こういう書き方って良くないん?こういう手があったかって思ったが見た目が悪いことに気付いた
こういう書き方って良くないん?こういう手があったかって思ったが見た目が悪いことに気付いた
655デフォルトの名無しさん (ワッチョイ 49a7-BfT8)
2020/01/05(日) 01:17:40.44ID:qDQaoTCH0 >>653
XAMPP7.4x使ってる?
確かにPHP7.4(XAMPP7.4x)でGDのJPEG Supportがないって報告出てるね
7.4からGDのconfigureオプションが変更されてるようだけど
旧オプションのままコンパイルしようとして無視されてるのかも
そのうち対応してくれると思うけど
自力でどうにかできないならPHP7.3(xampp7.3x)以下を使ってみると解決するかも?
>>654
https://ideone.com/ZwhEN8
まあフレームワーク使いましょう
XAMPP7.4x使ってる?
確かにPHP7.4(XAMPP7.4x)でGDのJPEG Supportがないって報告出てるね
7.4からGDのconfigureオプションが変更されてるようだけど
旧オプションのままコンパイルしようとして無視されてるのかも
そのうち対応してくれると思うけど
自力でどうにかできないならPHP7.3(xampp7.3x)以下を使ってみると解決するかも?
>>654
https://ideone.com/ZwhEN8
まあフレームワーク使いましょう
656デフォルトの名無しさん (ワッチョイ 468c-1wr4)
2020/01/05(日) 01:19:29.11ID:mNtiIqp60 >>655
やっぱそれが正しい書き方なんだな、悩んでたがスッキリしたわ
やっぱそれが正しい書き方なんだな、悩んでたがスッキリしたわ
657デフォルトの名無しさん (ワッチョイ 4902-FJ/U)
2020/01/05(日) 02:02:10.08ID:sULWpEk60 プログラマー脳は前者、WEB屋は後者って感じ
658デフォルトの名無しさん (ワッチョイ fe89-GYAN)
2020/01/05(日) 09:10:52.06ID:ftX4LjxF0659デフォルトの名無しさん (ワッチョイ 3eca-aeaz)
2020/01/05(日) 10:23:42.03ID:GvoILGxb0 >>655
foreach のブロックをカッコじゃなく endforeach にするのはなんで?
カッコの対応を取ってくれるテキストエディタは多いのにそういうアシストも受けられなくなるし、タイプ量も増えるし、
あんまりやらんとは思うがループを foreach から for に変更するなんてのも面倒だし、何がよくてそうするのかさっぱり分からん。
foreach のブロックをカッコじゃなく endforeach にするのはなんで?
カッコの対応を取ってくれるテキストエディタは多いのにそういうアシストも受けられなくなるし、タイプ量も増えるし、
あんまりやらんとは思うがループを foreach から for に変更するなんてのも面倒だし、何がよくてそうするのかさっぱり分からん。
660デフォルトの名無しさん (ワッチョイ 49a7-BfT8)
2020/01/05(日) 13:29:38.07ID:qDQaoTCH0 >>659
テンプレートエンジンだとだいたいそういう風に書くと思うけど
テンプレートエンジンだとだいたいそういう風に書くと思うけど
661デフォルトの名無しさん (オイコラミネオ MM49-aeaz)
2020/01/05(日) 14:35:14.19ID:1zEvaEuJM662デフォルトの名無しさん (ワッチョイ 49a7-BfT8)
2020/01/05(日) 14:39:22.34ID:qDQaoTCH0 そんな下らないとこで噛みつかれるとは思いもしないんで
気の利く答えなんて持ち合わせてないでw
自分にあったスタイルで「好きにしろ」でいいんじゃないの別に
気の利く答えなんて持ち合わせてないでw
自分にあったスタイルで「好きにしろ」でいいんじゃないの別に
663デフォルトの名無しさん (オイコラミネオ MM49-aeaz)
2020/01/05(日) 16:55:06.61ID:1zEvaEuJM あぁ、ごめん
そういうスタイルで書いてるのをしばしば見るので、どんなメリットがあってそうしてるのか気になっただけだ。
単に好みの問題なのね。
そういうスタイルで書いてるのをしばしば見るので、どんなメリットがあってそうしてるのか気になっただけだ。
単に好みの問題なのね。
664デフォルトの名無しさん (ワッチョイ c261-BfT8)
2020/01/05(日) 17:25:59.86ID:HEA2L3oC0 括弧だとわかりにくいから。
htmlが混じるとインデントもややこしくなるし。
htmlが混じるとインデントもややこしくなるし。
665デフォルトの名無しさん (ワッチョイ 468c-1wr4)
2020/01/06(月) 13:02:17.22ID:udFWw96L0 個人的にはhtmlのタグのインテリセンスがかかるからスペルミス閉じミスが起きないから良いなって感じかな
666デフォルトの名無しさん (ワッチョイ 6258-bzpX)
2020/01/06(月) 17:09:39.10ID:RuDbGpDl0 配列なら、$his より $histories の方がしっくりくる
変に略されると読みづらい
変に略されると読みづらい
667デフォルトの名無しさん (ワッチョイ 7fa9-lZna)
2020/01/08(水) 02:17:03.00ID:DD+ZGKXm0 新しいサーバへの移行をしているのですが、
とりあえず動かすと「Parse error: Invalid numeric literal 」が出ます。
覚え立ての開発環境ではこんな感じです。
https://i.imgur.com/Jmw3irM.png
配列を空にして、配列が空でないならば、それぞれの「時」に対して「true, false」を入れた連想配列を作って、
現在時の「時」を$hourに入れて、それを比較して連想配列の「時」をキーにして「true」か「false」どちらかを返すということだと思いますが、
Invalid numeric literalは「使えない数字」と考えて良いのでしょうか?
php5では使えていたとは思いますが、php7では厳しくなったということでしょうか?
vscodeを覚えて時を止めてデバッグができる時に感動しました。
変数がコマ送りに変化していくことが見えるのは凄いです。
とりあえず動かすと「Parse error: Invalid numeric literal 」が出ます。
覚え立ての開発環境ではこんな感じです。
https://i.imgur.com/Jmw3irM.png
配列を空にして、配列が空でないならば、それぞれの「時」に対して「true, false」を入れた連想配列を作って、
現在時の「時」を$hourに入れて、それを比較して連想配列の「時」をキーにして「true」か「false」どちらかを返すということだと思いますが、
Invalid numeric literalは「使えない数字」と考えて良いのでしょうか?
php5では使えていたとは思いますが、php7では厳しくなったということでしょうか?
vscodeを覚えて時を止めてデバッグができる時に感動しました。
変数がコマ送りに変化していくことが見えるのは凄いです。
668デフォルトの名無しさん (ワッチョイ 7f61-MUcs)
2020/01/08(水) 02:41:05.10ID:kulAlEGT0 0から始まってるのは8進数なのでphp7ではエラー
php5以下で08は0と解釈されてたはず
php5以下で08は0と解釈されてたはず
669デフォルトの名無しさん (ワッチョイ 7fa9-lZna)
2020/01/08(水) 08:48:02.53ID:DD+ZGKXm0 ありとうございます。
シングルクォートを使ってキーを文字列として配列にしました。
phpって曖昧とは聞きますが、08 にだけ8進数として反応するのですね。
シングルクォートを使ってキーを文字列として配列にしました。
phpって曖昧とは聞きますが、08 にだけ8進数として反応するのですね。
670デフォルトの名無しさん (ワッチョイ df02-mx/f)
2020/01/08(水) 10:56:17.40ID:Bxyfcf/k0 そんなばかなー
10進数で言う0から10までを8進数で書いてみるといい(手書きでいい
10進数で言う0から10までを8進数で書いてみるといい(手書きでいい
671デフォルトの名無しさん (ワッチョイ 7fa9-lZna)
2020/01/08(水) 18:23:40.37ID:DD+ZGKXm0 >>670
0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12
ですよね。
シングルクォートで文字列にしてエラーは出なくなりました。
この関数は昔誰かが書いたものですが、時によってフラグを立てる方法としてはまだ改良の余地があるのでしょうか。
0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12
ですよね。
シングルクォートで文字列にしてエラーは出なくなりました。
この関数は昔誰かが書いたものですが、時によってフラグを立てる方法としてはまだ改良の余地があるのでしょうか。
672デフォルトの名無しさん (ワッチョイ df02-mx/f)
2020/01/08(水) 18:37:40.91ID:Bxyfcf/k0 08と09は8進表記であり得ないからInvalid numeric literal
素直に頭文字0を削除すればいいのに
素直に頭文字0を削除すればいいのに
673デフォルトの名無しさん (ワッチョイ ffca-SJ+5)
2020/01/08(水) 18:47:21.77ID:Z7OGNEnI0 >>671
そもそもなんだけど、関数の引数で $time_array が渡されたとき、その添字はどんな形式になってるの?
$hour は文字列なんだから、元々配列の添字は文字列であるべきだったように見えるけど。
それはそれとして、小さなフラグテーブルなら文字列で書く方法もあるかもね。
$timetbl = '000000000011111111111100';
return $timetbl[(int)$hour] === '1';
みたいな。
その例ではインタフェースを変更しないといけなくなるから適用しづらいだろうけど。
そもそもなんだけど、関数の引数で $time_array が渡されたとき、その添字はどんな形式になってるの?
$hour は文字列なんだから、元々配列の添字は文字列であるべきだったように見えるけど。
それはそれとして、小さなフラグテーブルなら文字列で書く方法もあるかもね。
$timetbl = '000000000011111111111100';
return $timetbl[(int)$hour] === '1';
みたいな。
その例ではインタフェースを変更しないといけなくなるから適用しづらいだろうけど。
674デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/08(水) 19:49:43.97ID:w19vYwgJ0 >>671
do_check_exec_time関数だけどさ
返却値が不規則ならともかく、10〜21の範囲ならtrue、それ以外はfalseで駄目なの?
引数範囲もチェックしたいなら、先頭行で行えば良いと思う
do_check_exec_time関数だけどさ
返却値が不規則ならともかく、10〜21の範囲ならtrue、それ以外はfalseで駄目なの?
引数範囲もチェックしたいなら、先頭行で行えば良いと思う
675デフォルトの名無しさん (ワッチョイ 7fa9-lZna)
2020/01/08(水) 21:14:25.57ID:DD+ZGKXm0 レスを書くと forbiddenになったので、レスにNGワードが含まれているようです。
何がダメなんだろう・・・
レスは返したかったので画像にしました
https://i.imgur.com/XjOXs1g.jpg
何がダメなんだろう・・・
レスは返したかったので画像にしました
https://i.imgur.com/XjOXs1g.jpg
676デフォルトの名無しさん (ワッチョイ dfa7-alJZ)
2020/01/08(水) 22:18:06.43ID:zDxhP1FM0 PHPはJavaScriptなんかと違って文字連結とは演算子が別れてるから
+演算子は加算専用で数字として扱えるというか数値として扱うというのが正しい
>>667のコード見た感想としてはそこで初期値設定するか?って思ったわ
渡すべき$time_arrayの初期値としてならともかく
ちゃんとarrayのみ渡されるよう想定したほうがいいね
+演算子は加算専用で数字として扱えるというか数値として扱うというのが正しい
>>667のコード見た感想としてはそこで初期値設定するか?って思ったわ
渡すべき$time_arrayの初期値としてならともかく
ちゃんとarrayのみ渡されるよう想定したほうがいいね
677デフォルトの名無しさん (ワッチョイ dfa7-alJZ)
2020/01/08(水) 22:26:16.06ID:zDxhP1FM0 ちなみに勘違いしてなければいいけど
date関数のreturn値は文字列なんで08は正確には"08"
8進数でも他の数値的な何者かではなくただの文字列
date関数のreturn値は文字列なんで08は正確には"08"
8進数でも他の数値的な何者かではなくただの文字列
678デフォルトの名無しさん (ワッチョイ 7fd4-ErPi)
2020/01/13(月) 21:12:24.20ID:KUUG8Hhj0 質問があります。もしわかる方がいましたらご教授頂きたいです。
htmlを読み込んでbodyタグの中のaタグに書かれている内容を表示させようとしています。
(このサイトを参考:https://blog.katty.in/1400)
$url = 'https://haruoto.com/?page_id=11';
$html = file_get_contents($url);
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'ASCII, JIS, UTF-8, EUC-JP, SJIS');
$domDocument = new DOMDocument();
$domDocument->loadHTML($html);
$xmlString = $domDocument->saveXML();
$xmlObject = simplexml_load_string($xmlString);
$array = json_decode(json_encode($xmlObject), true);
echo $array['body']['a']; //「コンテンツへスキップ」と表示される
上記のコードは正しく動作するのですが、URLを「https://haruoto.com/?reply=407」に変更すると正しく動作しません。
何が原因なんでしょうか?
htmlを読み込んでbodyタグの中のaタグに書かれている内容を表示させようとしています。
(このサイトを参考:https://blog.katty.in/1400)
$url = 'https://haruoto.com/?page_id=11';
$html = file_get_contents($url);
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'ASCII, JIS, UTF-8, EUC-JP, SJIS');
$domDocument = new DOMDocument();
$domDocument->loadHTML($html);
$xmlString = $domDocument->saveXML();
$xmlObject = simplexml_load_string($xmlString);
$array = json_decode(json_encode($xmlObject), true);
echo $array['body']['a']; //「コンテンツへスキップ」と表示される
上記のコードは正しく動作するのですが、URLを「https://haruoto.com/?reply=407」に変更すると正しく動作しません。
何が原因なんでしょうか?
679蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ df01-fZVk)
2020/01/13(月) 21:17:58.61ID:xgMgrp400 HTMLの構造が違うんじゃねーの?
FirefoxなどのブラウザでHTMLのソースを見てみたら?
FirefoxなどのブラウザでHTMLのソースを見てみたら?
680デフォルトの名無しさん (ワッチョイ 7f61-euIa)
2020/01/13(月) 21:52:49.01ID:DUDFC3XS0 ?reply=407の693〜697行目がコメントの中に--を含む不正な構造なのでsimplexml_load_stringが失敗してるから
681デフォルトの名無しさん (ワッチョイ 7fd4-ErPi)
2020/01/14(火) 00:49:39.13ID:Pp7kDtDs0682デフォルトの名無しさん (ワッチョイ dfa7-alJZ)
2020/01/14(火) 01:08:34.22ID:HMRlieOS0 PHPのDOMload周りは@でエラー無視が一般的だと思う
$domDocument->loadHTML($html);
↓
@$domDocument->loadHTML($html);
>>678も自分の環境じゃWarning出まくるけどこれで結果を得られるし
?reply=407へURL書き換えたあともちゃんと結果を得られる
自分はPHPのDOM周りはいまいちなんでJavaScript側でやるかな
$domDocument->loadHTML($html);
↓
@$domDocument->loadHTML($html);
>>678も自分の環境じゃWarning出まくるけどこれで結果を得られるし
?reply=407へURL書き換えたあともちゃんと結果を得られる
自分はPHPのDOM周りはいまいちなんでJavaScript側でやるかな
683デフォルトの名無しさん (ワッチョイ dff1-///2)
2020/01/14(火) 11:21:04.15ID:LsFOQfCc0 自分のサイトを作ることにしました。
目的は主に2つあって、なにか簡単な商売をして副業としてお金をかせぐことと、ブログみたいになにか情報発信しようかと思っています。
PHPも使います。
どこのレンタルサーバを使うのが得策でしょうか?
今後生涯サイトは使おうと思います。
目的は主に2つあって、なにか簡単な商売をして副業としてお金をかせぐことと、ブログみたいになにか情報発信しようかと思っています。
PHPも使います。
どこのレンタルサーバを使うのが得策でしょうか?
今後生涯サイトは使おうと思います。
684デフォルトの名無しさん (ワッチョイ 7f59-alJZ)
2020/01/14(火) 14:36:03.43ID:Yv2y+5Q60 ここはまんさんでもやさしくしてくれるやろか
あのな、画像検索するとある画像が大きさが5504x8256ってなってるんやが開くとちっさいんや大きさが指定してあって。アドレスバーのとこに410x618って書いてあって。しかもこいつ実際は274x410なんやで。
wysiwygとかでダメなんやろかってやってもちっさいんや。大きいのは格納されとるハズなんやろうけど初心者すぎて大きい元画像にたどりつけないんやで。
やさしい人手取り足取り教えてほしいんやでどなたか
あのな、画像検索するとある画像が大きさが5504x8256ってなってるんやが開くとちっさいんや大きさが指定してあって。アドレスバーのとこに410x618って書いてあって。しかもこいつ実際は274x410なんやで。
wysiwygとかでダメなんやろかってやってもちっさいんや。大きいのは格納されとるハズなんやろうけど初心者すぎて大きい元画像にたどりつけないんやで。
やさしい人手取り足取り教えてほしいんやでどなたか
685デフォルトの名無しさん (ワッチョイ 7f59-alJZ)
2020/01/14(火) 14:36:34.20ID:Yv2y+5Q60 スレチやったらごめんなさい
686683 (ワッチョイ dff1-///2)
2020/01/14(火) 16:42:58.46ID:LsFOQfCc0 どうですかね?
いまの時代、無料のレンタルサーバでPHP/SQLも使えるところはあるのでしょうか?
いまの時代、無料のレンタルサーバでPHP/SQLも使えるところはあるのでしょうか?
687デフォルトの名無しさん (ワッチョイ 5fda-woae)
2020/01/14(火) 16:49:46.95ID:HWX79XGs0 >>684
自分のサイトの話じゃなくて、他人のサイトに置いてある画像の元ファイルにどうしたらたどりつけるかって話か
ここは下らねぇ質問のスレだが自分のサイト以外の問題を持ち掛けられてもしょうもないと思います
自分のサイトの話じゃなくて、他人のサイトに置いてある画像の元ファイルにどうしたらたどりつけるかって話か
ここは下らねぇ質問のスレだが自分のサイト以外の問題を持ち掛けられてもしょうもないと思います
688デフォルトの名無しさん (ワッチョイ fff2-ZJ4Y)
2020/01/14(火) 16:57:43.19ID:R0T58PMv0689デフォルトの名無しさん (ワッチョイ 7fa9-lZna)
2020/01/14(火) 20:36:37.48ID:/BEaD92M0 mysql_real_escape_string($string)
を多用している手続き型のphp5環境からphp7へ移行をしていて、
mysqli_real_escape_string($link, $string)
への修正しているのですが、
htmlspecialcharsのように、エスケープ目的で多用しているコードなのですが、
データベースのリンクも引数の強制になったようですが、リンクを使うのはどういう理由なのでしょうか?
また使いどころとしては、多用せずsqlクエリを使う前に1回で済ますという感じでしょうか?
を多用している手続き型のphp5環境からphp7へ移行をしていて、
mysqli_real_escape_string($link, $string)
への修正しているのですが、
htmlspecialcharsのように、エスケープ目的で多用しているコードなのですが、
データベースのリンクも引数の強制になったようですが、リンクを使うのはどういう理由なのでしょうか?
また使いどころとしては、多用せずsqlクエリを使う前に1回で済ますという感じでしょうか?
690デフォルトの名無しさん (ワッチョイ a9a7-s5Rz)
2020/01/15(水) 00:51:29.73ID:0SK8bZ/o0 >リンクを使うのはどういう理由なのでしょうか?
マニュアルに書いてるけど、
「接続の現在の文字セットを考慮して、SQL 文で使用する文字列の特殊文字をエスケープする」から。
接続が複数あって文字セットが異なる場合なんかを考慮してるのでしょう。
>多用せずsqlクエリを使う前に1回で済ますという感じでしょうか?
プリペアドステートメントで行うのが普通。
mysqliみたいなベンダー固有関数は汎用性がないのであまり使われないよ。
mysqlしか使わないならいいけど、本気で修正するなら手間も同じだしPDOでやったほうがいいと思う。
マニュアルに書いてるけど、
「接続の現在の文字セットを考慮して、SQL 文で使用する文字列の特殊文字をエスケープする」から。
接続が複数あって文字セットが異なる場合なんかを考慮してるのでしょう。
>多用せずsqlクエリを使う前に1回で済ますという感じでしょうか?
プリペアドステートメントで行うのが普通。
mysqliみたいなベンダー固有関数は汎用性がないのであまり使われないよ。
mysqlしか使わないならいいけど、本気で修正するなら手間も同じだしPDOでやったほうがいいと思う。
691690 (ワッチョイ a9a7-s5Rz)
2020/01/15(水) 01:29:34.93ID:0SK8bZ/o0 >>690の答えはちょっと答えになってなかったから補足しとく
・mysql関数時代も接続(リンク)は必要っちゃ必要だったけど、省略可能な第二引数だった。
省略した場合は、直近に使った接続になる。
・mysqli関数は省略不可能な第一引数になった。(引数の順番が変わった)
mysql関数は、接続を明示しなくていいので、
接続が複数ある場合、意図しないDBを操作するミスがおきる可能性がある。
エスケープする場合も同様、意図しないエスケープ結果になってしまう恐れがある。
そういうミスを減らすためにも、接続を明示しないといけないmysqli関数ってことなんじゃないかな多分。
・mysql関数時代も接続(リンク)は必要っちゃ必要だったけど、省略可能な第二引数だった。
省略した場合は、直近に使った接続になる。
・mysqli関数は省略不可能な第一引数になった。(引数の順番が変わった)
mysql関数は、接続を明示しなくていいので、
接続が複数ある場合、意図しないDBを操作するミスがおきる可能性がある。
エスケープする場合も同様、意図しないエスケープ結果になってしまう恐れがある。
そういうミスを減らすためにも、接続を明示しないといけないmysqli関数ってことなんじゃないかな多分。
692デフォルトの名無しさん (ワッチョイ 02a9-JESV)
2020/01/15(水) 19:33:51.69ID:OZZ+PtiC0 今まで1つの接続しかしたことが無かったので複数を接続するって考えもしなかったです。
たしかにそれだと文字コードが違う場合も想定すると、明示したほうが良いですよね。
古すぎてpdoに書き直すのは難しいので、とりあえず地味に書き換えていきます。
しかしmysqli_real_escape_stringや、mysqli_queryとか
引数の強制が増えたり、引数が入れ替わったり、pdoを使っていない古いコードは修正に振り回されることになりますよね。
プリペアドステートメントは「?」とかコードの行数が一気に増えて難しそうなのですが、
クエリに直接変数を書いて、real_escapeすればと思ってしまうのですがやはりデメリットがあるのでしょうか。
新規で練習するときはプリペアドステートメントを使おうと思っています。
たしかにそれだと文字コードが違う場合も想定すると、明示したほうが良いですよね。
古すぎてpdoに書き直すのは難しいので、とりあえず地味に書き換えていきます。
しかしmysqli_real_escape_stringや、mysqli_queryとか
引数の強制が増えたり、引数が入れ替わったり、pdoを使っていない古いコードは修正に振り回されることになりますよね。
プリペアドステートメントは「?」とかコードの行数が一気に増えて難しそうなのですが、
クエリに直接変数を書いて、real_escapeすればと思ってしまうのですがやはりデメリットがあるのでしょうか。
新規で練習するときはプリペアドステートメントを使おうと思っています。
693デフォルトの名無しさん (ワッチョイ a9a7-s5Rz)
2020/01/16(木) 04:41:59.97ID:WGM+n45y0 >>692
具体的なコードは書かないけど、
real_escape_stringでは攻撃対策としては不十分だから、プリペアドステートメントは必須。
(PDO使う場合、PDO::ATTR_EMULATE_PREPARESが1で、PDO側でエミュレートする場合、攻撃が成立する場合があるのは注意)
型を調べたり、想定してるフォーマットに沿うものか検証(バリデーション)して、
受け渡された変数が安全なデータであることが保証されてればいいけど、それこそコード長くなるし、
プリペアドステートメントでやったほうが、確実だし簡単だと思う。
具体的なコードは書かないけど、
real_escape_stringでは攻撃対策としては不十分だから、プリペアドステートメントは必須。
(PDO使う場合、PDO::ATTR_EMULATE_PREPARESが1で、PDO側でエミュレートする場合、攻撃が成立する場合があるのは注意)
型を調べたり、想定してるフォーマットに沿うものか検証(バリデーション)して、
受け渡された変数が安全なデータであることが保証されてればいいけど、それこそコード長くなるし、
プリペアドステートメントでやったほうが、確実だし簡単だと思う。
694デフォルトの名無しさん (ワッチョイ 7eca-uIHU)
2020/01/16(木) 09:20:07.39ID:yWLTyI800 >>692
あちこちに適用するライブラリでもなくいろんなDBに対応するわけでもないんだろうから、無理して PDO に置き換える必要は無いんじゃね。
プリペアドステートメントのいいところはプレースホルダが使えることもあるけど、プリペア済みのオブジェクトを何度も使い回すことによってSQLのパースを省略してパフォーマンスを上げられるって利点がある。
でも使い回しなんてせず同じSQLでも使う度にプリペアするようなコードが多いだろうし、バッチならともかくwebの1リクエストでどんだけ使い回せるの?って話もある。
それに加えて LIKE とか可変個の IN とか面倒だから、プリペアドステートメントに拘る必要は無いというのが俺の考えだな。
新規じゃないなら特に。
あちこちに適用するライブラリでもなくいろんなDBに対応するわけでもないんだろうから、無理して PDO に置き換える必要は無いんじゃね。
プリペアドステートメントのいいところはプレースホルダが使えることもあるけど、プリペア済みのオブジェクトを何度も使い回すことによってSQLのパースを省略してパフォーマンスを上げられるって利点がある。
でも使い回しなんてせず同じSQLでも使う度にプリペアするようなコードが多いだろうし、バッチならともかくwebの1リクエストでどんだけ使い回せるの?って話もある。
それに加えて LIKE とか可変個の IN とか面倒だから、プリペアドステートメントに拘る必要は無いというのが俺の考えだな。
新規じゃないなら特に。
695デフォルトの名無しさん (ワントンキン MM52-NIOJ)
2020/01/16(木) 14:43:23.92ID:B1/MNbmAM pdoに置き換えは無理してってほど大袈裟なものじゃないでしょ
手続きが用意されてないからオブジェクトになるけど
オブジェクト型のmysqliと比較してコードは似たりよったりだ
新規はpdoにしたほうがいい
手続きが用意されてないからオブジェクトになるけど
オブジェクト型のmysqliと比較してコードは似たりよったりだ
新規はpdoにしたほうがいい
696デフォルトの名無しさん (ワッチョイ 4263-A78j)
2020/01/16(木) 14:49:59.78ID:7uXyXPAQ0 どこかの機会で書き替えて行けば良いよ
将来はサポートされなくなる訳だし
将来はサポートされなくなる訳だし
697デフォルトの名無しさん (ワッチョイ 8d07-muX5)
2020/01/16(木) 16:00:44.94ID:NkO/oANm0 クラス内のメソッドについて、
似たような処理を行うもの(少し変更している)のがあるとします。
たとえば「redirect」というメソッドだったとして、
少し変更したのを「_redirect」みたいにして、親クラスに用意しているのですが
こういう書き方・使い方はまずいでしょうか?
beforeRedirectとかcustomRedirectみたいに変えた方がいいでしょうか?
似たような処理を行うもの(少し変更している)のがあるとします。
たとえば「redirect」というメソッドだったとして、
少し変更したのを「_redirect」みたいにして、親クラスに用意しているのですが
こういう書き方・使い方はまずいでしょうか?
beforeRedirectとかcustomRedirectみたいに変えた方がいいでしょうか?
698デフォルトの名無しさん (ワッチョイ fe02-gGzZ)
2020/01/16(木) 16:10:34.16ID:QgmPcxAO0 extendsで新しいクラスにすることと比べると
悩みどころですね
悩みどころですね
699デフォルトの名無しさん (ワッチョイ 4263-A78j)
2020/01/16(木) 16:42:45.37ID:7uXyXPAQ0 将来メンテする人にとって無用な負担をかけない方法を選択しよう
使うユーザーができるだけ負担を感じない道を選んだ方がいい
使うユーザーができるだけ負担を感じない道を選んだ方がいい
700デフォルトの名無しさん (ワッチョイ a9a7-s5Rz)
2020/01/16(木) 17:54:13.09ID:WGM+n45y0 >>697
どう変更してるのかわからないけど、
引数の数や型が違うならオーバーロードにする手もある。
ただしPHPにはない機能なので、可変引数を使ったり工夫が必要になるけど。
あとは柔軟に引数でモード選ぶとか、言ってるように名前変えるとかでいいと思う。
どう変更してるのかわからないけど、
引数の数や型が違うならオーバーロードにする手もある。
ただしPHPにはない機能なので、可変引数を使ったり工夫が必要になるけど。
あとは柔軟に引数でモード選ぶとか、言ってるように名前変えるとかでいいと思う。
701デフォルトの名無しさん (ワッチョイ 8261-s5Rz)
2020/01/16(木) 18:12:11.14ID:9x78fuLW0 共通部分の処理は親側で全部行うようにして、差分だけを子側に委譲する(abstractメソッド)。
702デフォルトの名無しさん (アウアウウー Sa05-DeBb)
2020/01/16(木) 20:22:40.39ID:HZuE80s1a >>693-694
今回は古い部分を直すだけで必死なのでreal_escapeを使いますが、
たしかにプリペアドステートメントが
エスケープも兼ねるので新規では使いたいです。
古いコードなので、闇雲に同じクエリを投げているので、そういう意味ではプリペアドステートメントの利点を受けられるかもしれません
今回は古い部分を直すだけで必死なのでreal_escapeを使いますが、
たしかにプリペアドステートメントが
エスケープも兼ねるので新規では使いたいです。
古いコードなので、闇雲に同じクエリを投げているので、そういう意味ではプリペアドステートメントの利点を受けられるかもしれません
703デフォルトの名無しさん (ワッチョイ 8d07-muX5)
2020/01/17(金) 17:10:14.42ID:HDLfgQuO0 >>699-700
できれば他の人が見てもわかる方法にしたいのですが、
親クラス
class Main {
function redirect($url){
header('Location:' . $url);
}
function _redirect($url){
〜$urlになにかする処理〜
$this->redirect($url);
}
}
みたいなことをしていまして、これだとわかりづらいですよね?
※redirectになにかする処理を書くのは別とします。
なので別のメソッド名にした方がいいのかな?と思うものの、
beforeRedirectとかcustomRedirectとかにするのは変かな?
と感じており、質問した次第です。
できれば他の人が見てもわかる方法にしたいのですが、
親クラス
class Main {
function redirect($url){
header('Location:' . $url);
}
function _redirect($url){
〜$urlになにかする処理〜
$this->redirect($url);
}
}
みたいなことをしていまして、これだとわかりづらいですよね?
※redirectになにかする処理を書くのは別とします。
なので別のメソッド名にした方がいいのかな?と思うものの、
beforeRedirectとかcustomRedirectとかにするのは変かな?
と感じており、質問した次第です。
704デフォルトの名無しさん (ワントンキン MM52-NIOJ)
2020/01/17(金) 18:45:49.52ID:vvJW2PiAM コールバックでいいんじゃ
705デフォルトの名無しさん (ワッチョイ e1da-A78j)
2020/01/17(金) 22:12:48.18ID:9k6vGiaj0706デフォルトの名無しさん (ワッチョイ 8d07-muX5)
2020/01/20(月) 10:56:16.47ID:UzBq59x80 >>705
通常はredirectの方で、変わったことがしたい(ページ推移を分岐させたい等)時は
_redirectの方を使うというイメージです。
そのため、「このリダイレクトは、カスタマイズしたリダイレクトですよ」
ということを説明するためのメソッドであればと思うのですが、
「_redirect」のような名前は、間違いやすいし、
beforeRedirectの場合はイベントハンドラっぽいので、悩んでいる次第です。
通常はredirectの方で、変わったことがしたい(ページ推移を分岐させたい等)時は
_redirectの方を使うというイメージです。
そのため、「このリダイレクトは、カスタマイズしたリダイレクトですよ」
ということを説明するためのメソッドであればと思うのですが、
「_redirect」のような名前は、間違いやすいし、
beforeRedirectの場合はイベントハンドラっぽいので、悩んでいる次第です。
707デフォルトの名無しさん (ワッチョイ 8d07-muX5)
2020/01/20(月) 11:28:18.41ID:UzBq59x80 すみません、自己レスですがやっぱり変なので
class Main {
function beforeRedirect($url){
〜$urlになにかする処理〜
return $url;
}
function redirect($url){
$url = $this->beforeRedirect($url);
header('Location:' . $url);
}
}
みたいな設計にし直します。
class Main {
function beforeRedirect($url){
〜$urlになにかする処理〜
return $url;
}
function redirect($url){
$url = $this->beforeRedirect($url);
header('Location:' . $url);
}
}
みたいな設計にし直します。
708デフォルトの名無しさん (ワッチョイ a902-1yOP)
2020/01/20(月) 19:21:08.15ID:OvG49n5/0 ネーミングの問題だと思うけど、アンダーバーが付いたのは予約語だったりシステムコールに
見えちゃうので、ちゃんと名前付けた方がいいね
個人的には面倒くさかったら拡張した方はすべて〜exで済ませる
見えちゃうので、ちゃんと名前付けた方がいいね
個人的には面倒くさかったら拡張した方はすべて〜exで済ませる
709デフォルトの名無しさん (アウアウウー Sa05-gGzZ)
2020/01/21(火) 22:14:23.82ID:k/0CqDEqa editURL/editRedirectURLとか
あとはめっちゃ冗長だけどeditURLBeforeRedirectとかな
そもそもredirectと並列に並べるような処理してないんだから同じ動詞が中心になるような命名はダメ
あとはめっちゃ冗長だけどeditURLBeforeRedirectとかな
そもそもredirectと並列に並べるような処理してないんだから同じ動詞が中心になるような命名はダメ
710デフォルトの名無しさん (ワッチョイ e7da-Jq7D)
2020/01/26(日) 21:35:09.22ID:X84CwPm80 formのactionを「action=""」と記述した場合、再帰的に現在のページが呼び出されると
あったのですが、その際は現在のページの記述を全て読み込みなおすってことでしょうか?
あったのですが、その際は現在のページの記述を全て読み込みなおすってことでしょうか?
711デフォルトの名無しさん (ワッチョイ e7f3-Ld1M)
2020/01/26(日) 22:32:40.52ID:a2Fj97SM0712デフォルトの名無しさん (ワッチョイ ffca-v+ft)
2020/01/26(日) 22:34:05.94ID:qUKNFCzW0 >>710
遷移先のURLが今と同じになるということ。
submitされる内容はその時のformの中身だから、ページの内容を読み込み直すということではない。
よくあるフォームだと、入力、確認、完了画面を順に遷移していくと思うけど、それら全部を同じ myform.php というひとつの URL で対応する感じ。
今どの画面を表示すべきなのかは submitされるパラメータのどれかに仕込むとかして判別できるようにする。
method が get だと URL自体が変化していくから、その手法をやるなら method は必然的に post になる。
遷移先のURLが今と同じになるということ。
submitされる内容はその時のformの中身だから、ページの内容を読み込み直すということではない。
よくあるフォームだと、入力、確認、完了画面を順に遷移していくと思うけど、それら全部を同じ myform.php というひとつの URL で対応する感じ。
今どの画面を表示すべきなのかは submitされるパラメータのどれかに仕込むとかして判別できるようにする。
method が get だと URL自体が変化していくから、その手法をやるなら method は必然的に post になる。
713デフォルトの名無しさん (ワッチョイ e7da-Jq7D)
2020/01/26(日) 23:01:03.81ID:X84CwPm80714デフォルトの名無しさん (ワッチョイ 5f61-RMi8)
2020/01/26(日) 23:24:50.30ID:9P93xbrg0 GETだとブラウザのキャッシュが使われる可能性もあるが
POSTなら確実に再度リクエストが来る
POSTなら確実に再度リクエストが来る
715デフォルトの名無しさん (ワッチョイ ffca-v+ft)
2020/01/26(日) 23:31:40.69ID:qUKNFCzW0 >>713
それは同じURLで get と post の両方に対応してるんだね。
リンク踏んだりURL叩いてページに来たときは get でのアクセスになるから、とりあえず動画閲覧画面でも表示するのでしょう。
でもその画面では動画のアップロードもできるようになってて、post によってアクセスされる場合はアップロードの操作がされたものとして動画を差し換え、改めて閲覧画面を表示するのでしょう。
ページの記述とか何言ってるのかはよくわからないけど、その URL はアクセスされる度に毎回一からページを送り出してるだけだと思うよ。
動画のIDなんかURL自体に含まれてて、閲覧や更新対象を示すキーとして満ち足りてるから、同じURLを使い回すようにしてるんじゃないかな。
ブックマークするときなんかも、リンク踏んで来た場合でもアップロード後でも URL が一緒になるからタイミングを選ばず都合がいいだろうしね。
それは同じURLで get と post の両方に対応してるんだね。
リンク踏んだりURL叩いてページに来たときは get でのアクセスになるから、とりあえず動画閲覧画面でも表示するのでしょう。
でもその画面では動画のアップロードもできるようになってて、post によってアクセスされる場合はアップロードの操作がされたものとして動画を差し換え、改めて閲覧画面を表示するのでしょう。
ページの記述とか何言ってるのかはよくわからないけど、その URL はアクセスされる度に毎回一からページを送り出してるだけだと思うよ。
動画のIDなんかURL自体に含まれてて、閲覧や更新対象を示すキーとして満ち足りてるから、同じURLを使い回すようにしてるんじゃないかな。
ブックマークするときなんかも、リンク踏んで来た場合でもアップロード後でも URL が一緒になるからタイミングを選ばず都合がいいだろうしね。
716デフォルトの名無しさん (ワッチョイ 5fff-Ld1M)
2020/01/27(月) 19:31:57.14ID:5Ks+WgqK0 なんかHTTPの基礎がわかってなさそう
717デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/30(木) 15:15:02.21ID:H+L/BkWr0 phpでPixivの画像まとめてDLしたいなと思いついて
https://html-css-javascript.com/demo/pixiv/
これ参考にやってるんだけどうまく行かない
Pixivの画像ってphpじゃDLできないの?
https://html-css-javascript.com/demo/pixiv/
これ参考にやってるんだけどうまく行かない
Pixivの画像ってphpじゃDLできないの?
718デフォルトの名無しさん (ワッチョイ 7999-/fp1)
2020/01/30(木) 15:50:27.29ID:smyD86f50 phpじゃ厳しいなあ
rubyなら簡単にできるんだけどね
rubyなら簡単にできるんだけどね
719デフォルトの名無しさん (ワッチョイ 6a61-2iSl)
2020/01/30(木) 17:42:05.62ID:vZSmPHC30 >>717
それ少なくともおととしのpixivのUIが糞化する前用のやつだから
それ少なくともおととしのpixivのUIが糞化する前用のやつだから
720デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/30(木) 18:08:28.77ID:H+L/BkWr0 マジか…
Rubyわかんないからphpでやりたかった
Pixivの画像のURL自体は変わってなかったから下記のURLの画像が保存できる方法知ってたら教えて下さい
https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p0.png
Rubyわかんないからphpでやりたかった
Pixivの画像のURL自体は変わってなかったから下記のURLの画像が保存できる方法知ってたら教えて下さい
https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p0.png
721デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/30(木) 20:01:18.05ID:OBUYa7FA0 718にrubyで書いてもらって、PHPに移植すれば良いんでね?
722デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/01/30(木) 20:29:52.18ID:N/97jNZ60 >>720
リファラーつければいいだけ
curl 'https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p[0-16].png' -H 'Referer: https://www.pixiv.net/en/artworks/'
rubyでも簡単だけどajax不要でログイン不要なら
curlとか使ってシェルスクリプト書いたほうが簡単
リファラーつければいいだけ
curl 'https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p[0-16].png' -H 'Referer: https://www.pixiv.net/en/artworks/'
rubyでも簡単だけどajax不要でログイン不要なら
curlとか使ってシェルスクリプト書いたほうが簡単
723デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/01/30(木) 20:52:22.46ID:N/97jNZ60 ranking TOP10のやつ全部ダウンロードするスクリプト
curl, pup, jqが必要
curl -s 'https://www.pixiv.net/ranking.php' ¥
| pup 'a.work' attr{href} ¥
| head -10 ¥
| sed -E 's/¥/artworks¥/([0-9]+)/¥1/' ¥
| xargs -I {} curl -s https://www.pixiv.net/ajax/illust/{}/pages ¥
| jq '.body[].urls.original' ¥
| xargs -I {} curl -# {} -H 'Referer: https://www.pixiv.net/en/artworks/' -O -w "%{url_effective}¥n"
curl, pup, jqが必要
curl -s 'https://www.pixiv.net/ranking.php' ¥
| pup 'a.work' attr{href} ¥
| head -10 ¥
| sed -E 's/¥/artworks¥/([0-9]+)/¥1/' ¥
| xargs -I {} curl -s https://www.pixiv.net/ajax/illust/{}/pages ¥
| jq '.body[].urls.original' ¥
| xargs -I {} curl -# {} -H 'Referer: https://www.pixiv.net/en/artworks/' -O -w "%{url_effective}¥n"
724デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/01/30(木) 20:54:05.78ID:N/97jNZ60 円マークはバックスラッシュに変換して
725デフォルトの名無しさん (ワッチョイ a5f1-yzQx)
2020/01/30(木) 20:58:51.80ID:Rpk6h2gy0 >>724
なぜ?
円マークとバックスラッシュは同じじゃないの?日本語のパソコンだと円マークに表示されるだけで。
この辺の仕組みを「文字コード」とてう言葉を使って竹を割ったようなスッキリ解説できるかた、どうかお願いできませんかね?
なぜ?
円マークとバックスラッシュは同じじゃないの?日本語のパソコンだと円マークに表示されるだけで。
この辺の仕組みを「文字コード」とてう言葉を使って竹を割ったようなスッキリ解説できるかた、どうかお願いできませんかね?
726デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/01/30(木) 21:01:33.81ID:Z7o7STkD0 フォントデザインが違うだけ。
727デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/01/30(木) 21:30:24.16ID:N/97jNZ60728デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/30(木) 21:56:00.67ID:H+L/BkWr0 N/97jNZ60 様
ありがとうございます。
ですが、素人に毛が生えた程度の私では難しいようです。(Rubyもスクリプトもできません)
phpで無理そうなら諦めます。
ありがとうございます。
ですが、素人に毛が生えた程度の私では難しいようです。(Rubyもスクリプトもできません)
phpで無理そうなら諦めます。
729デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/01/30(木) 23:11:34.50ID:N/97jNZ60 >>728
PHPでもシェルスクリプトより少し面倒なだけで普通にできるよ
処理手順だけ書いておくからPHPでトライしてみて
https://www.pixiv.net/en/artworks/79136582の一連の画像を全部ダウンロードしたい場合
https://www.pixiv.net/ajax/illust/79136582/pagesにアクセスすれば
各サイズのURLのリストがJSON形式で取得できる
取得したURLリスト(JSON)から目的のURLだけ抜き出して
そのURLを一つずつアクセスして画像をファイルに保存すればOK
>>723の後半3行が上の手順に相当する部分
PHPでもシェルスクリプトより少し面倒なだけで普通にできるよ
処理手順だけ書いておくからPHPでトライしてみて
https://www.pixiv.net/en/artworks/79136582の一連の画像を全部ダウンロードしたい場合
https://www.pixiv.net/ajax/illust/79136582/pagesにアクセスすれば
各サイズのURLのリストがJSON形式で取得できる
取得したURLリスト(JSON)から目的のURLだけ抜き出して
そのURLを一つずつアクセスして画像をファイルに保存すればOK
>>723の後半3行が上の手順に相当する部分
730デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/30(木) 23:12:03.35ID:OBUYa7FA0731デフォルトの名無しさん (ワッチョイ 66a7-ol1H)
2020/01/31(金) 04:16:30.86ID:Qzj9ULR80 >>729の仕様がわかれば根こそぎダウンロード出来るな
適当なsleep値挟まないと岡崎図書館になりそうでおそろしいw
適当なsleep値挟まないと岡崎図書館になりそうでおそろしいw
732デフォルトの名無しさん (ワッチョイ 5d2d-/fp1)
2020/01/31(金) 04:23:23.85ID:1Ft64C3q0 普通にAPI公開してるんだけど
733デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/01/31(金) 04:49:35.34ID:/fagGTpB0 >>723
は、Linux コマンド、またはシェルスクリプト
一方、Windows 10 にも、curl が入っている。
コマンドプロンプトで、where curl と打つと、
C:\Windows\System32\curl.exe
このcurl とは別に、PowerShell にもcurl がある
Ruby で、`〜` 内に、コマンドを書いて、呼び出すこともできる。
例えば、curl のヘルプの最初の5行を表示する
puts `curl -help`.lines.first( 5 )
同様に、PHP にも、コマンドを呼び出す記法があるはず。
ダウンロードでは、Linux のcurl, wget は、よく使うコマンド
Windows 10 上で, WSL, Ubuntu 18.04 を使っているなら、
Linux側で、Linuxコマンド・シェルスクリプトを書いて、Windows側のフォルダをいじる事もできる
は、Linux コマンド、またはシェルスクリプト
一方、Windows 10 にも、curl が入っている。
コマンドプロンプトで、where curl と打つと、
C:\Windows\System32\curl.exe
このcurl とは別に、PowerShell にもcurl がある
Ruby で、`〜` 内に、コマンドを書いて、呼び出すこともできる。
例えば、curl のヘルプの最初の5行を表示する
puts `curl -help`.lines.first( 5 )
同様に、PHP にも、コマンドを呼び出す記法があるはず。
ダウンロードでは、Linux のcurl, wget は、よく使うコマンド
Windows 10 上で, WSL, Ubuntu 18.04 を使っているなら、
Linux側で、Linuxコマンド・シェルスクリプトを書いて、Windows側のフォルダをいじる事もできる
734733 (ワッチョイ ea2c-KoMo)
2020/01/31(金) 08:14:28.08ID:/fagGTpB0 Ruby なら、ウェブページをBOMなしUTF-8 で、一旦保存してから、JSON.parse すると、
require 'open-uri'
require 'json'
# json_str = URI( "https://www.pixiv.net/ajax/illust/79136582/pages" ).read
json_str = File.read( "79136582_pages.json" ) # 保存した、UTF-8 ファイル
json_obj = JSON.parse( json_str )
json_obj[ "body" ].each do |urls|
p urls[ "urls" ]
end
出力。
こういうのが画像の数だけあるけど、この中で、original だけが欲しいの?
{"thumb_mini"=>"https://i.pximg.net/c/128x128/img-master/img/2020/01/28/01/28/46/79136582_p0_square1200.jpg",
"small"=>"https://i.pximg.net/c/540x540_70/img-master/img/2020/01/28/01/28/46/79136582_p0_master1200.jpg",
"regular"=>"https://i.pximg.net/img-master/img/2020/01/28/01/28/46/79136582_p0_master1200.jpg",
"original"=>"https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p0.png"}
require 'open-uri'
require 'json'
# json_str = URI( "https://www.pixiv.net/ajax/illust/79136582/pages" ).read
json_str = File.read( "79136582_pages.json" ) # 保存した、UTF-8 ファイル
json_obj = JSON.parse( json_str )
json_obj[ "body" ].each do |urls|
p urls[ "urls" ]
end
出力。
こういうのが画像の数だけあるけど、この中で、original だけが欲しいの?
{"thumb_mini"=>"https://i.pximg.net/c/128x128/img-master/img/2020/01/28/01/28/46/79136582_p0_square1200.jpg",
"small"=>"https://i.pximg.net/c/540x540_70/img-master/img/2020/01/28/01/28/46/79136582_p0_master1200.jpg",
"regular"=>"https://i.pximg.net/img-master/img/2020/01/28/01/28/46/79136582_p0_master1200.jpg",
"original"=>"https://i.pximg.net/img-original/img/2020/01/28/01/28/46/79136582_p0.png"}
735デフォルトの名無しさん (ワッチョイ 66a7-ol1H)
2020/01/31(金) 09:07:20.03ID:Qzj9ULR80 PHPで頼む言われてんのにRuby厨また沸いてんのかw
$api = 'https://www.pixiv.net/ajax/illust/79136582/pages';
$json = json_decode(file_get_contents($api));
$ctx = stream_context_create(['http'=>['header'=>"Referer: {$api}\r\n"]]);
foreach ($json->body as $body) {
$url = $body->urls->original;
$fname = basename($url);
file_put_contents($fname, file_get_contents($url, false, $ctx));
sleep(1);
}
保存先やら上書きやら考慮してないからこのままは使うなよ
$api = 'https://www.pixiv.net/ajax/illust/79136582/pages';
$json = json_decode(file_get_contents($api));
$ctx = stream_context_create(['http'=>['header'=>"Referer: {$api}\r\n"]]);
foreach ($json->body as $body) {
$url = $body->urls->original;
$fname = basename($url);
file_put_contents($fname, file_get_contents($url, false, $ctx));
sleep(1);
}
保存先やら上書きやら考慮してないからこのままは使うなよ
736デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/31(金) 10:18:31.72ID:2wi/3AbP0737デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/31(金) 10:29:10.97ID:k4NtdgGW0 頑張れよ!
738デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/31(金) 17:24:53.23ID:2wi/3AbP0 Pixivの質問者です。
画像をタイトル名で保存したかったので、下記のようにしました。
$url = "https://www.pixiv.net/artworks/79152593";
$html = file_get_contents($url);
preg_match("/この作品 「(.*)」 は 「/", $html, $titlearr);
echo $title = $titlearr[1];
タイトル以外にも投稿日や閲覧数などが取得できたのですが、カテゴリが上手く取得できません。
なにか良い方法はないでしょうか?
もしくは「https://www.pixiv.net/ajax/illust/79152593/pages」のような画像の情報集のようなものがあるのでしょうか?
画像をタイトル名で保存したかったので、下記のようにしました。
$url = "https://www.pixiv.net/artworks/79152593";
$html = file_get_contents($url);
preg_match("/この作品 「(.*)」 は 「/", $html, $titlearr);
echo $title = $titlearr[1];
タイトル以外にも投稿日や閲覧数などが取得できたのですが、カテゴリが上手く取得できません。
なにか良い方法はないでしょうか?
もしくは「https://www.pixiv.net/ajax/illust/79152593/pages」のような画像の情報集のようなものがあるのでしょうか?
739デフォルトの名無しさん (ワッチョイ 66a7-ol1H)
2020/01/31(金) 19:10:54.05ID:Qzj9ULR80 DOMDocumentで$htmlをロードして
getElementById('meta-preload-data')->getAttribute('content')取って
json_decodeすればあとはapiと同じ様につかえるんじゃね?
文字コードまわりの処理がちょっと面倒だと思うが
getElementById('meta-preload-data')->getAttribute('content')取って
json_decodeすればあとはapiと同じ様につかえるんじゃね?
文字コードまわりの処理がちょっと面倒だと思うが
740デフォルトの名無しさん (ワッチョイ 6a61-2iSl)
2020/01/31(金) 19:41:52.91ID:sTuegRNa0 作品情報のAPIはこれ
https://www.pixiv.net/ajax/illust/79152593
https://www.pixiv.net/ajax/illust/79152593
741デフォルトの名無しさん (ワッチョイ f689-Kz18)
2020/01/31(金) 20:23:09.76ID:2wi/3AbP0 ありがとうございます。
JSONならなんとかなりそうです。
「/pages」を取るだけだったんですね…
JSONならなんとかなりそうです。
「/pages」を取るだけだったんですね…
742733 (ワッチョイ ea2c-KoMo)
2020/01/31(金) 23:34:14.10ID:/fagGTpB0 >>732
に、API を公開してるって、誰かが書いてる
大々的に横断検索のようなスクレイピングしてると、営業妨害で逮捕される!
ちゃんと会社と契約して、API を使ってやるように!
会社のrobots.txt で、スクレイピングを禁止している場合は、有罪にされる!
クローラーの開発者は、robots.txtに従うべき!
従わないと訴えてくる。特に、5ch みたいなサイトは
クローラーのテストも、自分のPC 内に、Rubyのサーバーを立てて、
そこにウェブサイトのコピーを作って、それにアクセスしてテストする
本当のサイトに対して、テストしたりしない!
何回もテストしていると、営業妨害になるから!
クローラー開発者の大原則!
1. 会社と契約して、API を使う
2. robots.txtに従う
3. 自分のPC内に、サーバーを立ててテストする
それと書き込むときは、名前欄に、717 と入れてください!
誰が書き込んでいるか、分からないので
に、API を公開してるって、誰かが書いてる
大々的に横断検索のようなスクレイピングしてると、営業妨害で逮捕される!
ちゃんと会社と契約して、API を使ってやるように!
会社のrobots.txt で、スクレイピングを禁止している場合は、有罪にされる!
クローラーの開発者は、robots.txtに従うべき!
従わないと訴えてくる。特に、5ch みたいなサイトは
クローラーのテストも、自分のPC 内に、Rubyのサーバーを立てて、
そこにウェブサイトのコピーを作って、それにアクセスしてテストする
本当のサイトに対して、テストしたりしない!
何回もテストしていると、営業妨害になるから!
クローラー開発者の大原則!
1. 会社と契約して、API を使う
2. robots.txtに従う
3. 自分のPC内に、サーバーを立ててテストする
それと書き込むときは、名前欄に、717 と入れてください!
誰が書き込んでいるか、分からないので
743デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/31(金) 23:59:16.23ID:k4NtdgGW0 一般のブラウザと同程度の頻度でアクセスしている分には
サイト側で区別するのは困難だろうし、
訴えられる事も無いんじゃないかな、知らんけど
サイト側で区別するのは困難だろうし、
訴えられる事も無いんじゃないかな、知らんけど
744デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/02/01(土) 00:45:19.00ID:EnxAFhi/0 >>742
>大々的に横断検索のようなスクレイピングしてると、営業妨害で逮捕される!
>会社のrobots.txt で、スクレイピングを禁止している場合は、有罪にされる!
>何回もテストしていると、営業妨害になるから!
すべてデマ
一般論としてデマ書くくらいは別にいいけど
それを元に人を犯罪者扱いするとそれこそ罪になるから気をつけてね
>大々的に横断検索のようなスクレイピングしてると、営業妨害で逮捕される!
>会社のrobots.txt で、スクレイピングを禁止している場合は、有罪にされる!
>何回もテストしていると、営業妨害になるから!
すべてデマ
一般論としてデマ書くくらいは別にいいけど
それを元に人を犯罪者扱いするとそれこそ罪になるから気をつけてね
745デフォルトの名無しさん (ワッチョイ b501-/fp1)
2020/02/01(土) 00:47:42.04ID:1yCARK9i0 だからAPI公開されてるんだってば
746デフォルトの名無しさん (ワッチョイ 66f2-kxDg)
2020/02/01(土) 00:50:08.53ID:MgOexLzI0 専用ブラウザだろうが一般ブラウザだろうが、使う人間が同じなら同程度のアクセスにしかならんと思う
あと、API使わないWEB通信で専用か一般かを判別するのは無理じゃね?
UAも偽装できるし、そもそも廃止方向だし
あと、API使わないWEB通信で専用か一般かを判別するのは無理じゃね?
UAも偽装できるし、そもそも廃止方向だし
747733 (ワッチョイ ea2c-KoMo)
2020/02/01(土) 01:00:56.04ID:4wtj58110 いたずら電話でも、回数が多いと逮捕される!
一杯逮捕されてるし、有罪にもなってる!
会社は、一般的な用法でアクセスできるようにしてるだけで、
常識内の使い方じゃないと、営業妨害になる
クローラー開発者が、robots.txt に従うのは常識だから、従わないと営業妨害になる。
クローラー開発者はそもそも一般人じゃないし、一般的な使い方じゃない
株取引と同じで、プロの取引だから、守るべきハードルが高い。
これほど専門的な開発者は、素人の一般人が作っていましたという弁明ができない。
専門家として扱われるから
一杯逮捕されてるし、有罪にもなってる!
会社は、一般的な用法でアクセスできるようにしてるだけで、
常識内の使い方じゃないと、営業妨害になる
クローラー開発者が、robots.txt に従うのは常識だから、従わないと営業妨害になる。
クローラー開発者はそもそも一般人じゃないし、一般的な使い方じゃない
株取引と同じで、プロの取引だから、守るべきハードルが高い。
これほど専門的な開発者は、素人の一般人が作っていましたという弁明ができない。
専門家として扱われるから
748デフォルトの名無しさん (ワッチョイ 66f2-kxDg)
2020/02/01(土) 01:09:26.21ID:MgOexLzI0 >>747
誰にレスしてるのか分からないけど、俺にレスしてるんなら改めて書いとく
俺は良い悪いの話をしていない
API非使用の話
同じ人間がスレ見るような使い方はアクセス頻度も負荷も変わらないだろう
判別するのは技術的に無理じゃねえか
以上
弁明とかそんな次元の話をしているのではないので、そこんとこよろしく
誰にレスしてるのか分からないけど、俺にレスしてるんなら改めて書いとく
俺は良い悪いの話をしていない
API非使用の話
同じ人間がスレ見るような使い方はアクセス頻度も負荷も変わらないだろう
判別するのは技術的に無理じゃねえか
以上
弁明とかそんな次元の話をしているのではないので、そこんとこよろしく
749デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/01(土) 01:22:55.39ID:yTeildyw0 robots.txtの記述に従わないと行けない法的根拠はないんだが
あくまでも、マナーやエチケットのレベル
あくまでも、マナーやエチケットのレベル
750733 (ワッチョイ ea2c-KoMo)
2020/02/01(土) 02:39:22.43ID:4wtj58110 法律では、常識というのが判断基準になる
マナー・エチケットなどは関係ない。
契約していない者同士では、有形力の行使が判断基準
API の契約をした場合は、契約者同士だから、刑事事件にならないけど、
契約をしていない場合は、有形力の行使で判断する
いたずら電話とか、万引き・痴漢・家宅侵入などは、
契約していない者同士での有形力の行使
一般的じゃない使い方は、非常識になる。
プログラミングなど、プロの技術を用いた場合は、一般人と違う扱いになる
一般人が手でクリックした場合と、違う扱いになる
マナー・エチケットも、プロ・素人では、遵守レベルが異なる。
一般人の遵守レベルと、プロの遵守レベルは違う
株取引と同じ。
株はプロの遵守レベルだから、1桁間違って入力しても、勘違いとして撤回できないだろ。
普通の民法なら、錯誤で撤回できるけど
株は一般人の商取引じゃなく、プロの商取引だから、遵守レベルが厳しい
マナー・エチケットなどは関係ない。
契約していない者同士では、有形力の行使が判断基準
API の契約をした場合は、契約者同士だから、刑事事件にならないけど、
契約をしていない場合は、有形力の行使で判断する
いたずら電話とか、万引き・痴漢・家宅侵入などは、
契約していない者同士での有形力の行使
一般的じゃない使い方は、非常識になる。
プログラミングなど、プロの技術を用いた場合は、一般人と違う扱いになる
一般人が手でクリックした場合と、違う扱いになる
マナー・エチケットも、プロ・素人では、遵守レベルが異なる。
一般人の遵守レベルと、プロの遵守レベルは違う
株取引と同じ。
株はプロの遵守レベルだから、1桁間違って入力しても、勘違いとして撤回できないだろ。
普通の民法なら、錯誤で撤回できるけど
株は一般人の商取引じゃなく、プロの商取引だから、遵守レベルが厳しい
751デフォルトの名無しさん (アウアウカー Sa55-x+mg)
2020/02/01(土) 03:15:22.90ID:r8UutYKJa botガイル
752デフォルトの名無しさん (ワッチョイ 6d63-/fp1)
2020/02/01(土) 05:09:00.85ID:IZAG69wa0 それ有名なrubyキチだから相手にするだけ時間の無駄やで
753デフォルトの名無しさん (ワッチョイ 1149-futC)
2020/02/01(土) 11:30:39.83ID:ldPcUcvt0 pixivとか大きいところならインフラで帯域制御してるだろうから、IP詐称やら多数の接続元やらで大規模にやらない限り、
スクリプトでのDLは気付かないだろうし看過されるだろうけどね
逆に目立てば注意とか何も言われず制限とかされる
まあ、インターネットがある意味良識で成り立ってるところもあるから、あまり変なことはしない方がいいよ
自分のことばかり考えるなってね
スクリプトでのDLは気付かないだろうし看過されるだろうけどね
逆に目立てば注意とか何も言われず制限とかされる
まあ、インターネットがある意味良識で成り立ってるところもあるから、あまり変なことはしない方がいいよ
自分のことばかり考えるなってね
754デフォルトの名無しさん (ワッチョイ b501-+mJQ)
2020/02/02(日) 11:44:23.24ID:OTJ5GLO00 サイト内検索を設置したいのですがわかりません
どのように作ればよいのでしょうか?
どのように作ればよいのでしょうか?
755デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 11:54:17.96ID:lNG3EL+m0 サイト内の何を検索したいのかを言わないと
756デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 12:50:13.69ID:ceem9FS20 サイト内検索は、Google を使えば?
「site:URL 検索したい文字列」だろ
このコントロールを、はめ込めば良いのでは?
「site:URL 検索したい文字列」だろ
このコントロールを、はめ込めば良いのでは?
757デフォルトの名無しさん (ワッチョイ a602-ZjM+)
2020/02/03(月) 04:24:06.78ID:w78j2Hgc0 サイト内のキーワードを検索したいんです
絞り込み検索など
絞り込み検索など
758756 (ワッチョイ ea2c-KoMo)
2020/02/03(月) 04:30:12.91ID:YoBHNt100 多くのサイトが、Google のコントロールを使っているから、
Googleが配布しているのでは?
Googleが配布しているのでは?
759デフォルトの名無しさん (ワッチョイ 3d7c-a4zy)
2020/02/03(月) 21:07:08.59ID:zKdzrXwz0 平面上に座標の判明している点が数百あるとして、全ての点どうしの距離を
計算時間はかかって構わないのでハングしないように計算したいのですが
PHPではどうやったらいいのでしょうか
普通のPHPプログラムと同じように
点の座標情報をリクエストとして受け取って
全ての計算が終わったらブラウザにレスポンスしたいです
計算時間はかかって構わないのでハングしないように計算したいのですが
PHPではどうやったらいいのでしょうか
普通のPHPプログラムと同じように
点の座標情報をリクエストとして受け取って
全ての計算が終わったらブラウザにレスポンスしたいです
760デフォルトの名無しさん (オッペケ Srbd-4tmu)
2020/02/03(月) 21:21:55.23ID:7cu/pWw8r 普通に2重for文で愚直に計算すればいいんじゃねーの
数百程度なら一瞬でしょ
数百程度なら一瞬でしょ
761デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/04(火) 09:19:02.42ID:6/2RTZHA0 Ruby なら、標準のwebrick サーバーで、
VSCode の拡張機能、REST Client で、JSON 文字列をPOST すると、同じ配列が返ってくる。
CGI にも出来る
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
[[0,0],[10,20],[10,10]]
以下は、Ruby
require 'webrick'
require 'json'
srv = WEBrick::HTTPServer.new( {
:DocumentRoot => './',
:BindAddress => '127.0.0.1', :Port => 8888 } )
srv.mount_proc( '/' ) do |req, res|
res[ "content-type" ] = "text/plain"
ary = JSON.parse( req.body ) # JSON 文字列から、Ruby のオブジェクトに変換する
# ここで、ary を処理する
result = JSON.generate( ary ) # Ruby のオブジェクトから、JSON 文字列に変換する
res.body = result
end
Signal.trap( :INT ){ srv.shutdown } # Ctrl+C で終了
srv.start
VSCode の拡張機能、REST Client で、JSON 文字列をPOST すると、同じ配列が返ってくる。
CGI にも出来る
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
[[0,0],[10,20],[10,10]]
以下は、Ruby
require 'webrick'
require 'json'
srv = WEBrick::HTTPServer.new( {
:DocumentRoot => './',
:BindAddress => '127.0.0.1', :Port => 8888 } )
srv.mount_proc( '/' ) do |req, res|
res[ "content-type" ] = "text/plain"
ary = JSON.parse( req.body ) # JSON 文字列から、Ruby のオブジェクトに変換する
# ここで、ary を処理する
result = JSON.generate( ary ) # Ruby のオブジェクトから、JSON 文字列に変換する
res.body = result
end
Signal.trap( :INT ){ srv.shutdown } # Ctrl+C で終了
srv.start
762デフォルトの名無しさん (ワッチョイ 66a7-ol1H)
2020/02/04(火) 10:26:16.95ID:a9RPAFSb0 >>759
長い計算で問題になるのはタイムアウトと使用人数
色々考慮しないといけないのでケースバイケースになるが
そういう計算はJavaScriptでやったほうがいいと思う
非力な環境考慮やスマホの節電狙ってるならとめはしないが
基本はある程度計算した時点で(タイムアウトする前に)一度レスポンス返して
計算再開するようリクエスト再送して計算終わるまでそれを繰り返すとか
サーバ側でタイムアウトを無効にしてマルチスレッドで計算しながら
Transfer-Encoding: chunked(flush関数)とかでなんかブラウザに送り続けるとかそんなところ
あと設定したことないので確認はしてないがxhr使えばブラウザ側のタイムアウトは無効に出来るはず
大人数で使う&計算が数時間に渡る場合サーバ側タイムアウトを無効にするような計算はしないほうがいい
長い計算で問題になるのはタイムアウトと使用人数
色々考慮しないといけないのでケースバイケースになるが
そういう計算はJavaScriptでやったほうがいいと思う
非力な環境考慮やスマホの節電狙ってるならとめはしないが
基本はある程度計算した時点で(タイムアウトする前に)一度レスポンス返して
計算再開するようリクエスト再送して計算終わるまでそれを繰り返すとか
サーバ側でタイムアウトを無効にしてマルチスレッドで計算しながら
Transfer-Encoding: chunked(flush関数)とかでなんかブラウザに送り続けるとかそんなところ
あと設定したことないので確認はしてないがxhr使えばブラウザ側のタイムアウトは無効に出来るはず
大人数で使う&計算が数時間に渡る場合サーバ側タイムアウトを無効にするような計算はしないほうがいい
763761 (ワッチョイ ea2c-KoMo)
2020/02/04(火) 10:59:31.95ID:6/2RTZHA0 確かに、計算のタイムアウトなどを考えたら、
AWS Lambda などを使った方がよい
AWS Lambda などを使った方がよい
764759 (ワッチョイ 3d7c-a4zy)
2020/02/04(火) 14:13:53.25ID:D53RXKif0 >>760
450点あたりで
計算は10万回超えちゃいそうな気がするんですが…
>>762
あざます、そんで説明下手ですみません
アクセス数とか、ユーザビリティ的なことはそれほど考えなくていいんです
説明が難しいんですが、MovableTypeみたいな動き方と言いますか
このプログラムを一度実行することで静的なファイルを生成して
ウェブのユーザにはそのファイルを見てもらうことになるので
なのでとりあえず、10万なら10万回
時間かけていいんで、PHPがハングしないように計算を終えて
その結果が出たら、ブラウザに返したいな、と
昨夜自分で考えて
PHPは1点ずつの計算結果をテキストファイルとして生成して
ブラウザはそのファイルが出来ているか定期的にポーリングする
みたいなことを考えたんですが…
450点あたりで
計算は10万回超えちゃいそうな気がするんですが…
>>762
あざます、そんで説明下手ですみません
アクセス数とか、ユーザビリティ的なことはそれほど考えなくていいんです
説明が難しいんですが、MovableTypeみたいな動き方と言いますか
このプログラムを一度実行することで静的なファイルを生成して
ウェブのユーザにはそのファイルを見てもらうことになるので
なのでとりあえず、10万なら10万回
時間かけていいんで、PHPがハングしないように計算を終えて
その結果が出たら、ブラウザに返したいな、と
昨夜自分で考えて
PHPは1点ずつの計算結果をテキストファイルとして生成して
ブラウザはそのファイルが出来ているか定期的にポーリングする
みたいなことを考えたんですが…
765デフォルトの名無しさん (オッペケ Srbd-4tmu)
2020/02/04(火) 14:21:15.46ID:gHL4c7Fjr じゃあ高速フーリエ変換でもすれば
766デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/04(火) 15:04:39.24ID:lLuVC2X20 それがサーバー上にあって、割と自由にいじれるなら
バッチ処理で結果を出して表示にしたら良いんじゃないかな
バッチ処理で結果を出して表示にしたら良いんじゃないかな
767759 (ワッチョイ 3d7c-a4zy)
2020/02/04(火) 16:28:58.13ID:D53RXKif0 >>766
点の情報は、ブラウザからJSONかCSVかXLSXかでポストさせるので
実行時点で数が不明ですので、クロンを書くのも難しいかなと
たぶんポストされた座標データ群を基に
foreach($datas as $data){
foreach($datas as $data){
// ここで距離を計算
// 計算済みのものは除外
}
}
みたいになるわけですが、$datasの数が多いと止まってしまうので
非同期でいいので止まらない方法はないものかなと
点の情報は、ブラウザからJSONかCSVかXLSXかでポストさせるので
実行時点で数が不明ですので、クロンを書くのも難しいかなと
たぶんポストされた座標データ群を基に
foreach($datas as $data){
foreach($datas as $data){
// ここで距離を計算
// 計算済みのものは除外
}
}
みたいになるわけですが、$datasの数が多いと止まってしまうので
非同期でいいので止まらない方法はないものかなと
768デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2020/02/04(火) 17:30:21.86ID:26FK/H9g0 数百の点同士だから最大1000 x 1000でも100万でしょ
floatだとしても100msもかからないと思うんだけどそれでハングするの?
クライアント側で計算させても一瞬だから
ラウンドトリップさせるのをやめて計算結果だけ非同期で受け取るようにしたほうが
ユーザーにとっても運用してる側にとってもいいと思う
floatだとしても100msもかからないと思うんだけどそれでハングするの?
クライアント側で計算させても一瞬だから
ラウンドトリップさせるのをやめて計算結果だけ非同期で受け取るようにしたほうが
ユーザーにとっても運用してる側にとってもいいと思う
769759 (ワッチョイ 3d7c-a4zy)
2020/02/04(火) 17:37:32.11ID:D53RXKif0770761 (ワッチョイ ea2c-KoMo)
2020/02/04(火) 23:05:49.06ID:6/2RTZHA0 JSON が普通。
非同期処理なら、Ajax を使う方法もある
C/C++ で計算だけして、ファイルに書き込んでから、
ウェブサーバーで、そのファイルを見れば?
計算速度が遅くてもよいなら、どの言語でも良いし
非同期処理なら、Ajax を使う方法もある
C/C++ で計算だけして、ファイルに書き込んでから、
ウェブサーバーで、そのファイルを見れば?
計算速度が遅くてもよいなら、どの言語でも良いし
771デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/04(火) 23:14:48.03ID:lLuVC2X20 実際の処理時間次第って気がする
10分程度なら、そのまま終わるのを画面監視して待っていれば良い
数時間以上掛かるなら、結果をメールで送ってもらうなり
夜間バッチで動かしておくのも良いかも
10分程度なら、そのまま終わるのを画面監視して待っていれば良い
数時間以上掛かるなら、結果をメールで送ってもらうなり
夜間バッチで動かしておくのも良いかも
772761 (ワッチョイ 9f2c-ndoi)
2020/02/05(水) 00:24:15.42ID:NEouxGwD0 クライアント/サーバー間の通信は、JSON で良いけど、
元のデータは、CSV の方が、データベースとの連携でも簡単かも
そして、CSVを計算して、ファイルに書き込む
JSON
[[0,0],[10,20],[10,10]]
CSV
x,y
0,0
10,20
10,10
元のデータは、CSV の方が、データベースとの連携でも簡単かも
そして、CSVを計算して、ファイルに書き込む
JSON
[[0,0],[10,20],[10,10]]
CSV
x,y
0,0
10,20
10,10
773デフォルトの名無しさん (ワッチョイ 7f89-IOUD)
2020/02/05(水) 11:25:21.84ID:2PM+quj20 $url = "https://page.auctions.yahoo.co.jp/jp/auction/u332334293"; //エロ個別ページ
//$url = "https://page.auctions.yahoo.co.jp/jp/auction/n399439358"; //ノーマル個別ページ
$filestr = file_get_contents($url);
echo $filestr = mb_convert_encoding($filestr,'utf8','auto');
こんな感じでヤフオクのページにアクセスしたいんだけど、
通常のページなら問題ないけどアダルトカテゴリの場合ログインしてくださいとなる
この場合ログインなしで対処することはできますか?
//$url = "https://page.auctions.yahoo.co.jp/jp/auction/n399439358"; //ノーマル個別ページ
$filestr = file_get_contents($url);
echo $filestr = mb_convert_encoding($filestr,'utf8','auto');
こんな感じでヤフオクのページにアクセスしたいんだけど、
通常のページなら問題ないけどアダルトカテゴリの場合ログインしてくださいとなる
この場合ログインなしで対処することはできますか?
774デフォルトの名無しさん (ワッチョイ 7fca-z+R/)
2020/02/05(水) 11:42:40.50ID:6W4fVUG70 そういやヤフーの文字画像認証って難易度高過ぎだよね。
この間パスワード連続間違いやらかして文字画像認証になったんだけど、まともに読めなかったw
この間パスワード連続間違いやらかして文字画像認証になったんだけど、まともに読めなかったw
775デフォルトの名無しさん (ワッチョイ 9f2c-ndoi)
2020/02/05(水) 23:01:50.84ID:NEouxGwD0 漏れは、Ruby で、Selenium WebDriver, Nokogiri などで、
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
Chrome, Edge などのブラウザーを自動操作して、スクレイピングするけど
ここに書いておいた
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.net/test/read.cgi/tech/1578522041/24-27
776デフォルトの名無しさん (ワッチョイ b75f-mZAX)
2020/02/06(木) 00:07:34.22ID:UYgbv9bH0 fopenでファイルに書き込んでいたのですが
突然文字化けするようになったのですが
ファイルも送信もUTF-8なのですが
$str = mb_convert_encoding($str, "UTF-8");
のようにする必要性も感じないのですが
これはサーバー側の問題なのでしょうか
突然文字化けするようになったのですが
ファイルも送信もUTF-8なのですが
$str = mb_convert_encoding($str, "UTF-8");
のようにする必要性も感じないのですが
これはサーバー側の問題なのでしょうか
777デフォルトの名無しさん (ワッチョイ 9f2c-ndoi)
2020/02/06(木) 04:47:55.73ID:/hIhK6yv0 相手のサーバーか、または自分のプログラムのファイルを保存した際に、
文字コードが異なるとか、BOM 有りUTF-8 になってるとか?
文字コードが異なるとか、BOM 有りUTF-8 になってるとか?
778デフォルトの名無しさん (ワッチョイ ffa7-QQjh)
2020/02/06(木) 12:12:05.29ID:NnjjFI0X0 >>773
どういう目的で取得するのかしらんけど
googleのキャッシュならそこそこ取れてるようだから
そこに欲しい情報があれば検討したら?
https://webcache.googleusercontent.com/search?q=cache:https://page.auctions.yahoo.co.jp/jp/auction/u332334293
まあ普通にログインしてやればいいと思うけど
ヤフーにcaptcha認証なんてあったっけ?記憶にないな
しかしなんだねこのいかがわしい人形はw
どういう目的で取得するのかしらんけど
googleのキャッシュならそこそこ取れてるようだから
そこに欲しい情報があれば検討したら?
https://webcache.googleusercontent.com/search?q=cache:https://page.auctions.yahoo.co.jp/jp/auction/u332334293
まあ普通にログインしてやればいいと思うけど
ヤフーにcaptcha認証なんてあったっけ?記憶にないな
しかしなんだねこのいかがわしい人形はw
779デフォルトの名無しさん (ワッチョイ 7f89-IOUD)
2020/02/06(木) 17:18:10.95ID:mIIVuTqX0 >>778
検索かけて出てきた商品情報から希望要項に合うものピックアップし、
その中にある画像をまとめて表示させるて一気に見たいと思って作ってた
そしたら呼び出せない項目があって内容見てたらアダルトカテゴリに該当するものだった
キャッシュ必要だと使うのは難しいな
検索かけて出てきた商品情報から希望要項に合うものピックアップし、
その中にある画像をまとめて表示させるて一気に見たいと思って作ってた
そしたら呼び出せない項目があって内容見てたらアダルトカテゴリに該当するものだった
キャッシュ必要だと使うのは難しいな
780デフォルトの名無しさん (ワッチョイ 9701-YmmE)
2020/02/06(木) 21:08:13.30ID:qcCZ1na20 返り値が空と表示されるのですがどうすれば治るのでしょうか?
781デフォルトの名無しさん (ワッチョイ 9701-L9ne)
2020/02/06(木) 22:00:14.76ID:qcCZ1na20 空だと表示される原因としてmariadbの設定を適当にしてしまった
phpadminを使用している時のユーザー名パスワードとmariadbを作成した時のパスワード又はユーザー名が全く別のものだと考えられるのですが原因はやっぱりこれでしょうか?
phpadminを使用している時のユーザー名パスワードとmariadbを作成した時のパスワード又はユーザー名が全く別のものだと考えられるのですが原因はやっぱりこれでしょうか?
782デフォルトの名無しさん (ワッチョイ 9701-L9ne)
2020/02/06(木) 22:02:13.41ID:qcCZ1na20 コマンドプロンプトで消せと書いてあるんですがデータのみインストールでzipからインストールしなかった場合消せるのでしょうか?
783デフォルトの名無しさん (ワッチョイ 57da-OB/u)
2020/02/07(金) 09:05:50.45ID:qw7QPilU0 0.1を10回足しても1.0にならないのはおかしい
784デフォルトの名無しさん (ワッチョイ ffa7-QQjh)
2020/02/07(金) 09:42:40.68ID:IMRBAKuu0785デフォルトの名無しさん (ワッチョイ ffa7-QQjh)
2020/02/07(金) 09:43:31.21ID:IMRBAKuu0 ↑の下は>>783宛
786デフォルトの名無しさん (オッペケ Sr0b-B6qE)
2020/02/08(土) 09:15:29.74ID:dJyCpuORr mysqli関数使ってるんだが、PDOについて質問です。
別のDBMSに乗り換えるときに便利、みたいな記事をよく見ますが、DBMSごとにSQL文の制約が少しずつ違いますよね?
この差はPDO自体は吸収できませんよね?コードで分岐するしかないんですよね?
すると、MySQLしか使わない限りは、PDOを使うメリットって何でしょうか?
別のDBMSに乗り換えるときに便利、みたいな記事をよく見ますが、DBMSごとにSQL文の制約が少しずつ違いますよね?
この差はPDO自体は吸収できませんよね?コードで分岐するしかないんですよね?
すると、MySQLしか使わない限りは、PDOを使うメリットって何でしょうか?
787デフォルトの名無しさん (ワッチョイ 7fca-z+R/)
2020/02/08(土) 10:26:28.77ID:zZtEQOJV0788デフォルトの名無しさん (ワッチョイ d7a7-QQjh)
2020/02/08(土) 14:08:52.88ID:iOIJiyGE0 >すると、MySQLしか使わない限りは、PDOを使うメリットって何でしょうか?
自分で使うもので将来的な移行もありえないならメリットは特にない
pdoのほうがよりモダンなコードで書けるぐらいか
パフォーマンスは公式にも書いてるけどどのAPI使ってもほぼ同じで誤差程度
自分で使うもので将来的な移行もありえないならメリットは特にない
pdoのほうがよりモダンなコードで書けるぐらいか
パフォーマンスは公式にも書いてるけどどのAPI使ってもほぼ同じで誤差程度
789デフォルトの名無しさん (ワッチョイ f76e-B6qE)
2020/02/08(土) 14:31:04.68ID:Jjt1u8eP0790デフォルトの名無しさん (ワッチョイ 5308-oFCC)
2020/02/12(水) 15:56:54.08ID:Q5WPE+fg0 ID:qcCZ1na20
はとりあえず日本語から勉強し直せ
アホー知恵袋より酷いぞ
つかプログラミング向いてないから手遅れになる前に諦めた方がいいんじゃね?
はとりあえず日本語から勉強し直せ
アホー知恵袋より酷いぞ
つかプログラミング向いてないから手遅れになる前に諦めた方がいいんじゃね?
791デフォルトの名無しさん (ブーイモ MM0e-gsGW)
2020/02/12(水) 17:49:58.19ID:qFSwmyrvM アップロードしたファイル名をDBに書き込んでファイルはtmpディレクトリに保存しておくときって
ファイルの名前はハッシュ値に変えるべきかそのままのファイル名で処理するかどっちがいいの?
ファイルの名前はハッシュ値に変えるべきかそのままのファイル名で処理するかどっちがいいの?
792デフォルトの名無しさん (ワッチョイ 1fa7-J3a+)
2020/02/13(木) 15:55:19.51ID:ngv8BCkj0 いつ消えるかわからないtmpに保存しとくって解せぬ
ファイル名をハッシュ値に変える意味はわからないけどそこは好きにすればいいのでは
ファイル名をハッシュ値に変える意味はわからないけどそこは好きにすればいいのでは
793デフォルトの名無しさん (ワッチョイ 5eda-OxJ8)
2020/02/15(土) 18:10:33.43ID:ndNA2Bw/0 下記記述のようにグローバルな場所で $arr を出力することはできたのですが、
関数の中で出力するとエラーになってしまいます。
PHPだと親に位置する変数って参照できないのでしょうか?
$arr = [
'a' => 1,
'b' => 2
];
var_dump($arr);
function test() {
var_dump($arr);
};
test();
関数の中で出力するとエラーになってしまいます。
PHPだと親に位置する変数って参照できないのでしょうか?
$arr = [
'a' => 1,
'b' => 2
];
var_dump($arr);
function test() {
var_dump($arr);
};
test();
794デフォルトの名無しさん (ワッチョイ b761-cV6v)
2020/02/15(土) 18:16:15.52ID:Y132p/bJ0795デフォルトの名無しさん (ワッチョイ 5eda-OxJ8)
2020/02/15(土) 18:30:10.65ID:ndNA2Bw/0796デフォルトの名無しさん (ワッチョイ 8689-RqZf)
2020/02/15(土) 22:52:13.91ID:wgObr5UE0 質問です。
色の近さを測る方法ってあるでしょうか?
例えば、
A.#4169e1 B.#ff7f50 C.#dc143c
があった場合、Cにより近い色はAとBどちら?
といった感じで使いたいです。
色の近さを測る方法ってあるでしょうか?
例えば、
A.#4169e1 B.#ff7f50 C.#dc143c
があった場合、Cにより近い色はAとBどちら?
といった感じで使いたいです。
797蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ a701-ZWcj)
2020/02/15(土) 23:32:30.86ID:f7hi9XcW0 色コードといえば、RGBとかHSVとかCYMKとか習うと思うけど、これらは数学的にいうと、(ベクトル空間みたいな)色空間上の位置を持った点を意味する。
色の近さは色空間での2点間の距離の長さ。というわけで、色空間と距離の定義しだい。
色の近さは色空間での2点間の距離の長さ。というわけで、色空間と距離の定義しだい。
798デフォルトの名無しさん (ワッチョイ d201-b83C)
2020/02/16(日) 00:01:58.16ID:iNVxJNOu0799デフォルトの名無しさん (ワッチョイ 8689-RqZf)
2020/02/16(日) 00:14:57.82ID:KR6y1seH0 思った以上に難しそうだな…
16進数だからC-AとC-Bを行い絶対数の小さい方が似てる色くらいに思ってたぜ
16進数だからC-AとC-Bを行い絶対数の小さい方が似てる色くらいに思ってたぜ
800蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ a701-ZWcj)
2020/02/16(日) 00:30:14.36ID:yQcmKOn30 まずはRGBコードをHSVに変換してみましょう。
801蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd32-ZWcj)
2020/02/16(日) 00:32:40.25ID:+ZLQtp1jd https://github.com/katahiromz/color_value
C言語だけどこれで良ければ
C言語だけどこれで良ければ
802デフォルトの名無しさん (ワッチョイ 46ca-MwwC)
2020/02/16(日) 03:32:24.89ID:Tw+Vg2AB0 色の近さの判断基準が分からんとな。
とにかくRGBをHSVなりに変換したとして、
色相(H)が近ければ濃さ(S)や明るさ(V)はどうでもいいのか?
どうでもよくないならそれぞれのパラメータの重みを決める必要があるな。
とにかくRGBをHSVなりに変換したとして、
色相(H)が近ければ濃さ(S)や明るさ(V)はどうでもいいのか?
どうでもよくないならそれぞれのパラメータの重みを決める必要があるな。
803デフォルトの名無しさん (ワッチョイ 122c-LiuO)
2020/02/16(日) 07:16:26.92ID:5EL9p8ON0 SASS のmixin に、そういう機能は無いのか?
804デフォルトの名無しさん (オッペケ Src7-DLam)
2020/02/16(日) 08:37:59.92ID:B0xDVat5r 単純に3次元ベクトルの距離差だけでよいじゃん
RGBなんだし
RGBなんだし
805デフォルトの名無しさん (ワッチョイ d263-OxJ8)
2020/02/16(日) 10:40:08.82ID:e/9Szh9J0 人の目に感じる色の近さは、RGBの数値だけでは判定できないな
色合いと彩度で比較する方が感覚に近い
色合いと彩度で比較する方が感覚に近い
806デフォルトの名無しさん (ブーイモ MMa7-mtzg)
2020/02/21(金) 10:38:09.06ID:uhz6TO4QM csvをアップロードして中身読み込んで確認画面を出して問題なければDBに登録する仕組み作ってるんですけど
ページ間のデータ渡しって2Mくらいのそれなりに大きいデータでもセッションで大丈夫ですか?
ページ間のデータ渡しって2Mくらいのそれなりに大きいデータでもセッションで大丈夫ですか?
807デフォルトの名無しさん (オイコラミネオ MM47-1Tph)
2020/02/21(金) 11:04:55.83ID:KI0NB2iSM セションの中身はディスクに書いてるんだろうから、2MBくらいなら保存自体の問題は無いんじゃね。
でも不要になったらセッションからさっさと削除しないと、毎回そのデータがメモリにロードされることになる。
セッションとは別に一時ファイルに書き出してそのファイル名をセッションで保持するのがスマートな気がするけど、一時ファイルの掃除の方法を別途考えないといけないのが面倒だな。
でも不要になったらセッションからさっさと削除しないと、毎回そのデータがメモリにロードされることになる。
セッションとは別に一時ファイルに書き出してそのファイル名をセッションで保持するのがスマートな気がするけど、一時ファイルの掃除の方法を別途考えないといけないのが面倒だな。
808デフォルトの名無しさん (ブーイモ MMa7-mtzg)
2020/02/21(金) 11:36:12.22ID:uhz6TO4QM809デフォルトの名無しさん (オイコラミネオ MM47-1Tph)
2020/02/21(金) 12:41:45.52ID:KI0NB2iSM >>808
一時ファイルの掃除のためにこの辺を読んでおくといいと思う。
https://www.php.net/manual/ja/session.customhandler.php
destroy とか gc で一時ファイルを掃除する必要があるはず。
一時ファイルの掃除のためにこの辺を読んでおくといいと思う。
https://www.php.net/manual/ja/session.customhandler.php
destroy とか gc で一時ファイルを掃除する必要があるはず。
810デフォルトの名無しさん (ワッチョイ 8f89-sS5o)
2020/02/23(日) 17:03:54.18ID:LPteoL8J0 preg_match_allを使ってリンク先が画像のURL取得したいんだけど正規表現がわかりません。
これを↓
<a href="http://img.hoge/001.jpg" target="_blank">
こうしたい↓
http://img.hoge/001.jpg
作ってみたのがこれ↓
preg_match_all('/href="(.*?)(jpg|jpeg|png)?"/', $html, $imgurllist);
わかる方いらっしゃいました教えて下さい。
これを↓
<a href="http://img.hoge/001.jpg" target="_blank">
こうしたい↓
http://img.hoge/001.jpg
作ってみたのがこれ↓
preg_match_all('/href="(.*?)(jpg|jpeg|png)?"/', $html, $imgurllist);
わかる方いらっしゃいました教えて下さい。
811デフォルトの名無しさん (ワッチョイ 8f02-wKkS)
2020/02/23(日) 17:21:12.17ID:UC/kHLCn0 "の前に\が必要かも?
href=\"(.*?\.png|.*?\.jpeg|.*?\.jpeg)\"
なんてどうでしょう
href=\"(.*?\.png|.*?\.jpeg|.*?\.jpeg)\"
なんてどうでしょう
812デフォルトの名無しさん (ワッチョイ 8f02-wKkS)
2020/02/23(日) 17:21:56.35ID:UC/kHLCn0 最後はjpgの間違い
813デフォルトの名無しさん (ワッチョイ a3a7-icXw)
2020/02/23(日) 18:39:43.25ID:p2aTkQco0 なんでもかんでも正規表現でやらんほうがいいよ
ちゃんとしたの書くの難しいし何より自分がわからないのは良くない
多少時間はかかるかもしれないが
getElementsByTagName('a')->getAttribute('href')でa hrefのリストとってきて
1個ずつpathinfo['extension']を見ていく感じ
pathinfo['extenstion']の?以降を除外してstrtolowerで拡張子小文字にした上で
in_arrayあたりで比較すればいいんでは?
ちゃんとしたの書くの難しいし何より自分がわからないのは良くない
多少時間はかかるかもしれないが
getElementsByTagName('a')->getAttribute('href')でa hrefのリストとってきて
1個ずつpathinfo['extension']を見ていく感じ
pathinfo['extenstion']の?以降を除外してstrtolowerで拡張子小文字にした上で
in_arrayあたりで比較すればいいんでは?
814デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 19:13:36.62ID:xNzf67+4a 正規表現なら一行で書けるのにごちゃごちゃ関数かます方が意味分からない
815デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/23(日) 19:21:02.12ID:S7JwB5qb0 あの呪文のような記述を受け付けない人もいるみたいだ
俺は好きなんだけどな
俺は好きなんだけどな
816デフォルトの名無しさん (ワントンキン MM9f-IDX8)
2020/02/23(日) 19:29:10.11ID:EUelPM9rM817デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 19:52:51.22ID:xNzf67+4a 新手の教えて君か?
その手には乗らねーよ
その手には乗らねーよ
818デフォルトの名無しさん (ワントンキン MM9f-IDX8)
2020/02/23(日) 20:18:07.28ID:EUelPM9rM ま、こんなもんだろ
口先だけで自信ないから書けない
正規表現なんて書けた気でいるやつが大半でバグの温床
本当にちゃんと書けるやつだけ使えな
口先だけで自信ないから書けない
正規表現なんて書けた気でいるやつが大半でバグの温床
本当にちゃんと書けるやつだけ使えな
819デフォルトの名無しさん (アウアウウー Sae7-bgYn)
2020/02/23(日) 20:46:46.39ID:xNzf67+4a 頭がバグってるやつに言われてもね
820デフォルトの名無しさん (ワッチョイ ffad-C6+A)
2020/02/23(日) 21:13:29.11ID:0sUq9sLC0821デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/23(日) 21:37:24.28ID:rIVuphj20 先輩が書いたコードを見ると $_SERVER などの取得する値に対して
urldecode やら isset やらで本当にその値か正しいものかどうか、セットされてるかどうか
毎度調べてるようなのですが、正しくない場合の事例が書いてあるサイトってありますか?
また、この手のエスケープや存在確認やらがまとめてあるサイトもあれば教えていただけますでしょうか。
自分では追っかけきれず、毎度先輩に迷惑掛けてしまっている状態で申し訳ないっす…
urldecode やら isset やらで本当にその値か正しいものかどうか、セットされてるかどうか
毎度調べてるようなのですが、正しくない場合の事例が書いてあるサイトってありますか?
また、この手のエスケープや存在確認やらがまとめてあるサイトもあれば教えていただけますでしょうか。
自分では追っかけきれず、毎度先輩に迷惑掛けてしまっている状態で申し訳ないっす…
822デフォルトの名無しさん (ワッチョイ 8302-8E80)
2020/02/23(日) 22:27:34.54ID:jUm6GNGX0823デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 11:46:26.32ID:/D+Ss1rU0 >>821
$_SERVERで取れるのは環境変数
環境変数って言うぐらいだから、その値が必ずある保証なんてないし、めちゃくちゃな値をセットする事もできる
例えば
$_SERVER['HTTP_USER_AGENT']
とかな。自分でめちゃくちゃな値をセットして自分で実験してみたらいい
isset()なんか使わんけどねw
あるか無いか分からない時は getenv() 使えばいい
urldecode()にいたっては検証用の関数ですらない
URLエンコードされたデータをデコードしてるだけ
なんていうかHTTPの基礎から理解できてない
とりあえずGoogle Chromeのデベロッパツールでも眺めてHTTPの流れから理解した方がいいんじゃね?
$_SERVERで取れるのは環境変数
環境変数って言うぐらいだから、その値が必ずある保証なんてないし、めちゃくちゃな値をセットする事もできる
例えば
$_SERVER['HTTP_USER_AGENT']
とかな。自分でめちゃくちゃな値をセットして自分で実験してみたらいい
isset()なんか使わんけどねw
あるか無いか分からない時は getenv() 使えばいい
urldecode()にいたっては検証用の関数ですらない
URLエンコードされたデータをデコードしてるだけ
なんていうかHTTPの基礎から理解できてない
とりあえずGoogle Chromeのデベロッパツールでも眺めてHTTPの流れから理解した方がいいんじゃね?
824デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 11:58:40.79ID:/D+Ss1rU0825デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 12:00:32.05ID:/D+Ss1rU0 >>810
くそ適当に書くけど
$html = '<a href="http://img.hoge/001.jpg" target="_blank">';
preg_match_all('/href\s*=\s*([\'"])(.+?\.(?:jpe?g|png))\\1/i', $html, $match, PREG_SET_ORDER);
print_r($match);
・大文字小文字の考慮
・スペース文字の考慮
・シングルクォートで挟むのかダブルクォートで挟むのかの考慮
正規表現を使うならせめてこれぐらいはしようよw
くそ適当に書くけど
$html = '<a href="http://img.hoge/001.jpg" target="_blank">';
preg_match_all('/href\s*=\s*([\'"])(.+?\.(?:jpe?g|png))\\1/i', $html, $match, PREG_SET_ORDER);
print_r($match);
・大文字小文字の考慮
・スペース文字の考慮
・シングルクォートで挟むのかダブルクォートで挟むのかの考慮
正規表現を使うならせめてこれぐらいはしようよw
826デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 12:08:32.46ID:/D+Ss1rU0827デフォルトの名無しさん (ワッチョイ 8f89-sS5o)
2020/02/24(月) 12:27:06.58ID:bCyGnyrg0828デフォルトの名無しさん (ワッチョイ 4301-ChGR)
2020/02/24(月) 18:10:06.13ID:rxpR87T30 >>821
毎度?普通はそういう繰り返し使われる処理はライブラリ化すると思うけど
毎度?普通はそういう繰り返し使われる処理はライブラリ化すると思うけど
829デフォルトの名無しさん (ワッチョイ 4301-ChGR)
2020/02/24(月) 18:12:00.24ID:rxpR87T30 正規表現なら1行で書けるといいながらその1行すら書けずに逃げた>>814が恥ずかしすぎる
830デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/24(月) 18:27:40.24ID:pG7e8gTP0831デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 19:35:47.79ID:/D+Ss1rU0 >>830
上のタブでNetworkを選んでHeadersのところを見る
Request Headersに書かれてるのが、ウェブサーバに対するHTTPリクエストの内容
例えばそこにAccept-Encoding: gzip とあれば
ウェブサーバがそれを見てコンテンツをgzip圧縮してレスポンスとして返す
そしてウェブブラウザがそれをデコードして元に戻す
User-Agentなんかも書かれてるはず
Accept-EncodingにせよUser-Agentにせよあくまでも自称であり、
そこには嘘でもめちゃくちゃな文字列でもなんでも書けるんだよ
だから値を信用したら駄目ってこと
上のタブでNetworkを選んでHeadersのところを見る
Request Headersに書かれてるのが、ウェブサーバに対するHTTPリクエストの内容
例えばそこにAccept-Encoding: gzip とあれば
ウェブサーバがそれを見てコンテンツをgzip圧縮してレスポンスとして返す
そしてウェブブラウザがそれをデコードして元に戻す
User-Agentなんかも書かれてるはず
Accept-EncodingにせよUser-Agentにせよあくまでも自称であり、
そこには嘘でもめちゃくちゃな文字列でもなんでも書けるんだよ
だから値を信用したら駄目ってこと
832デフォルトの名無しさん (ワッチョイ 3308-p4c1)
2020/02/24(月) 19:42:59.09ID:/D+Ss1rU0 >>830
自分でHTTPクライアントを作ってみるのが一番いい
fsockopen()やstream_socket_client()あたりでサーバに接続して
HTTPの命令を送ってレスポンスを受け取るみたいなコードを書けばHTTPの流れは一発で理解できる
「PHP stream_socket_client HTTP/1.1」とか適当にググったら、たぶんサンプルコードは見つかるはず
自分でHTTPクライアントを作ってみるのが一番いい
fsockopen()やstream_socket_client()あたりでサーバに接続して
HTTPの命令を送ってレスポンスを受け取るみたいなコードを書けばHTTPの流れは一発で理解できる
「PHP stream_socket_client HTTP/1.1」とか適当にググったら、たぶんサンプルコードは見つかるはず
833デフォルトの名無しさん (ワッチョイ ff2c-lQWV)
2020/02/24(月) 20:05:32.49ID:ZFXUbFog0 漏れは、5ch の投稿から、画像のリンクだけを取り出すために、
Ruby で、こういうモジュールを作っている
module MyUtility
require 'uri'
@@EXTS = %w(png jpg jpeg gif) # 画像の拡張子
# 画像の拡張子かどうか?
def check_picture_extname? ( picture_url )
return false if picture_url.empty?
begin
uri = URI.parse picture_url
rescue # 半角以外の文字
return false
end
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
return false if file_extname.empty?
# . を削除して、小文字にする
file_extname.delete!(".").downcase!
@@EXTS.include? file_extname # 含まれている?
end
module_function :check_picture_extname? # 公開
end
Ruby で、こういうモジュールを作っている
module MyUtility
require 'uri'
@@EXTS = %w(png jpg jpeg gif) # 画像の拡張子
# 画像の拡張子かどうか?
def check_picture_extname? ( picture_url )
return false if picture_url.empty?
begin
uri = URI.parse picture_url
rescue # 半角以外の文字
return false
end
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
return false if file_extname.empty?
# . を削除して、小文字にする
file_extname.delete!(".").downcase!
@@EXTS.include? file_extname # 含まれている?
end
module_function :check_picture_extname? # 公開
end
834デフォルトの名無しさん (ワッチョイ 6fda-Nz9x)
2020/02/24(月) 20:10:17.32ID:pG7e8gTP0835デフォルトの名無しさん (ワッチョイ ff2c-lQWV)
2020/02/24(月) 20:20:22.27ID:ZFXUbFog0 VSCode の拡張機能の、REST Client を使えばよい
### で区切れば、いくつでも書ける。
カーソルを置いて、右クリックメニューから送信
GET http://localhost:8888/?page=2&pageSize=10 HTTP/1.1
###
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}
###
### で区切れば、いくつでも書ける。
カーソルを置いて、右クリックメニューから送信
GET http://localhost:8888/?page=2&pageSize=10 HTTP/1.1
###
POST http://localhost:8888/ HTTP/1.1
content-type: application/json
{
"name": "sample",
"time": "Wed, 21 Oct 2015 18:27:50 GMT"
}
###
836デフォルトの名無しさん (ワッチョイ fb5f-g6LZ)
2020/03/04(水) 00:36:08.76ID:4nMHG/7W0 phpファイルにパスワードを記入しているのですが
安全でしょうか?
もしくはもっと安全な方法はありますか?
安全でしょうか?
もしくはもっと安全な方法はありますか?
837デフォルトの名無しさん (ワッチョイ 9f63-xiWk)
2020/03/04(水) 01:50:10.45ID:9gBPL9dd0 安全かどうかと聞かれれば、安全ではないと答えるが
838デフォルトの名無しさん (ワッチョイ 4f89-x1Qw)
2020/03/07(土) 21:24:50.43ID:0OcB8lvE0 質問です。
テキストファイルにキーワードが書いてあり、
それを読み込んで一致する文字列があったらtrueを返します。
しかし、たまに一致箇所があるにも関わらずスルーされる場合があります。
なぜでしょうか?
判定は↓のような感じです。
strpos($str,'キーワード') !== false
テキストファイルにキーワードが書いてあり、
それを読み込んで一致する文字列があったらtrueを返します。
しかし、たまに一致箇所があるにも関わらずスルーされる場合があります。
なぜでしょうか?
判定は↓のような感じです。
strpos($str,'キーワード') !== false
839デフォルトの名無しさん (ワッチョイ 9fad-j73r)
2020/03/07(土) 22:30:19.72ID:olnFzWkU0840デフォルトの名無しさん (ワッチョイ 1fdd-BxM+)
2020/03/07(土) 22:38:56.40ID:1MRzagVb0 改行が混ざってるんじゃない?
841デフォルトの名無しさん (ワッチョイ 4f89-x1Qw)
2020/03/07(土) 23:48:46.74ID:0OcB8lvE0 すみません。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
解決しました。
原因は、テスト用のフォルダのパスのままになっていたことと
試運転時のデータが一部使われていた事により
一部検出されていないというおかしな状態になっているということでした。
842デフォルトの名無しさん (ワッチョイ 9f63-yvuU)
2020/03/08(日) 01:24:36.29ID:yy8ndPXN0 原子力発電所じゃなくてよかったw
843デフォルトの名無しさん (ワッチョイ 4bda-R/kF)
2020/03/08(日) 16:38:04.82ID:o6nDRKvt0 die();
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
exit();
exit は言語構造です。 status を指定しない場合は括弧なしでコールできます。
って今知ったわー
844デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/13(金) 02:12:30.03ID:iVXMMcFW0 foreach ($this->_db->query($sql) as $v) {...}
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
query()やprepare()で準備した文はexecute()必須だと思ってましたが
↑の記述ではexecute()なしでSQL文を実行できているようでした
何故でしょうか?
845デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/13(金) 02:27:00.67ID:6hF2k6+W0 $sqlの内容が 直接実行可能なSQL文だったらそのままで行けるよ
846デフォルトの名無しさん (ワッチョイ 69f1-ZSAD)
2020/03/13(金) 13:42:16.08ID:3oUhS72l0 ->
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
=>
がよく混同する。
どれがどの用法かを一発で覚える方法ある?
数ヵ月以上使っていなかったり他言語やってたりすると覚えるのは困難。
847デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 09:55:43.61ID:Vu/3uGwv0 >>845
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
どうも
$sql のSQL文は下記なのですが、直接実行できるときとできない場合の
見分け方ってありますでしょうか?
$sql = "select answer, count(id) as c from answers group by answer";
bindValue() とかをかましているときに execute() 使っているようなので
プレースホルダの置換しなければおk的な感じなのでしょうか?
848デフォルトの名無しさん (ワッチョイ 86da-drwQ)
2020/03/14(土) 11:47:05.77ID:Vu/3uGwv0849デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 12:06:04.05ID:ftz/XzuIM >>846
いまだ自己解決しません
いまだ自己解決しません
850デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/14(土) 19:01:35.17ID:B3THKCTN0 >>846
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
->これはアロー演算子だから
オブジェクトとかクラスとか呼び出したときにメソッドを呼び出すときに使うから
クラス名->メソッドとかで
=>これは普通の演算子以下とか以上とかで使うやつだから
851デフォルトの名無しさん (ワッチョイ ed5c-FfQu)
2020/03/14(土) 19:46:32.71ID:DYwfTyBB0 >>=>これは普通の演算子以下とか以上とかで使うやつだから
嘘つき
嘘つき
852デフォルトの名無しさん (ブーイモ MM8d-ZSAD)
2020/03/14(土) 19:58:46.89ID:hEp1GdU0M >>850
このウソつきめ
このウソつきめ
853デフォルトの名無しさん (ワッチョイ 7d02-FfQu)
2020/03/14(土) 20:34:45.23ID:GFwOalat0 >>850
You are a liar!
You are a liar!
854デフォルトの名無しさん (ワッチョイ 068c-WOeG)
2020/03/15(日) 12:42:37.91ID:dxrxQoIU0855デフォルトの名無しさん (ワッチョイ 69a7-R/wk)
2020/03/15(日) 19:54:07.87ID:NaNFV4Bh0 最近はfnとセットでアロー関数使うときにも使うけどね
856デフォルトの名無しさん (ワッチョイ 69d2-WWFo)
2020/03/16(月) 05:40:39.73ID:3OE3knP80857デフォルトの名無しさん (ワッチョイ 69f1-5Ayy)
2020/03/16(月) 10:12:02.17ID:n/UZHZ/90858デフォルトの名無しさん (ワッチョイ f9c4-ZeYt)
2020/03/16(月) 10:41:57.59ID:88XG2BvL0 なんでこうプログラマとかUNIX使いってめんどくさいのが多いかね
859デフォルトの名無しさん (ワッチョイ c263-drwQ)
2020/03/16(月) 14:37:23.52ID:UdSTQWc50 先にめんどくさいことを片付けるか、後からめんどくさいことにぶち当たるかの、違い
860デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 17:15:31.58ID:R2yf6A3f0 質問いいでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
ローカル環境XAMPPで動かしています。
外付けHDDから画像を表示させようとしたところ見つからないというエラーが出ました。
[an error occurred while processing this directive] 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 [an error occurred while processing this directive]
リンクをコピーで確認したところURLの前に「http://localhost」が勝手に追加されていました。
これのせいで上手く表示されていないようです。
なんとかして画像を表示させる方法はないでしょうか?
861デフォルトの名無しさん (オッペケ Sr85-lbMX)
2020/03/22(日) 17:37:50.11ID:95kANOoTr >>860
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
諸々の知識が足りて無さすぎるのでサーバーとはなんぞやxamppとはなんぞやってとこから勉強してどうぞ
862デフォルトの名無しさん (オッペケ Sr85-DLm1)
2020/03/22(日) 17:38:33.08ID:StD3gLg7r urlとファイルのパスは違う
ただそれだけ
ただそれだけ
863デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 18:26:04.76ID:R2yf6A3f0 ウ〜ンやっぱ無理か
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
一時的にコピーくらいしか思いつかんな
データとして貼り付けるにして多いし重すぎる
864デフォルトの名無しさん (ワッチョイ 8b61-W5ce)
2020/03/22(日) 19:21:51.54ID:uAP5d0yV0 ドキュメントルート内のどこかからジャンクションやシンボリックリンク張るなり、サーバー設定でaliasすればいいんでね?
865デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 19:38:15.03ID:sN305W7E0866デフォルトの名無しさん (ワッチョイ 1389-xsY/)
2020/03/22(日) 22:18:36.23ID:R2yf6A3f0867デフォルトの名無しさん (ワッチョイ 9363-ED79)
2020/03/22(日) 22:40:26.52ID:sN305W7E0868デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/22(日) 22:54:04.30ID:D4yHaglA0 相乗りで質問させてください。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
>>867 のリンク先に書いてあるような設定を済ませて、chromeでは〇〇〇.localhostといった
URLで開けるようになったのですが、それ以外のブラウザではエラーが出てしまい開けません。
改善方法はありますでしょうか?
PHPと関係ないかもしれませんが、該当スレも見当たらず…
どうかご回答よろしくお願いいたします。
869デフォルトの名無しさん (ワッチョイ 81da-ED79)
2020/03/22(日) 23:06:53.02ID:UY6UlDJY0870デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/22(日) 23:51:04.35ID:z2MML3bn0 virtualhostでもいいけどめんどいしalias追加でいいんじゃねえの
871デフォルトの名無しさん (ワッチョイ 8b2c-cvBQ)
2020/03/23(月) 07:16:27.59ID:jGS2rL5b0 Windows 10, WSL, Ubuntu 18.04 で、Ruby なら、Linux 側で、
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
1-liner で、Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
Windows側から、これでブラウザでアクセスできる
http://localhost:8080
Linux側も、C ドライブ内にあるからかな?
アクセスするサーバーが、どのドライブのどのフォルダ内を、
カレントディレクトリとして起動したか
872デフォルトの名無しさん (オイコラミネオ MM55-94HG)
2020/03/23(月) 21:22:44.81ID:w/tA8drNM 2ch風の掲示板を作ってます。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
datファイルで一行に名前・メール・メッセージと管理用のIDやらを
記述するやり方で、レスアンカーやurlをループ処理の中で出力時に
aタグで囲む方法が思い付きません。
正規表現でメッセージから有無の判定はできましたが、そこから先で詰まってます。
ヒントをください。
873デフォルトの名無しさん (オイコラミネオ MM55-8l36)
2020/03/23(月) 21:47:23.30ID:QTEdjjlGM874デフォルトの名無しさん (ワッチョイ 29a7-hdmr)
2020/03/23(月) 22:01:36.98ID:4wQQ+VSn0 後方参照がわからんのだろうな
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
matchじゃなくてreplaceでおk
正規表現でマッチした()の中身を置き換えのとこで$n or \\nで参照できる
例えばこんなん
https://ideone.com/lJv04e
875デフォルトの名無しさん (ワッチョイ fbda-ED79)
2020/03/24(火) 02:26:45.30ID:84LIBSDP0876デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/25(水) 23:42:46.36ID:YJCiq0GG0 >>874
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
下記記述で行けました。
本当にありがとうございました(涙)
preg_replace('/>>([0-9]{1,3})/', '<a href="#$1">>>$1</a>', $message);
ちなみにセキュリティに対して理解が浅すぎるのですが、渡ってくる文字列に対して警戒していればおkで
置換でa要素を使ったり、HTMLエンティティ対象の文字列をそのまま書いても大丈夫なのでしょうか?
877デフォルトの名無しさん (ワッチョイ b1a7-B4Y8)
2020/03/26(木) 08:37:27.85ID:uQPl4pkP0 5chはテキストログで1レス1行が都合が良さそうなのと区切り文字が必要になるので
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
そのへんの改行(<br>)と区切り(<>)考慮するとエスケープ済みのほうが扱いやすい
ただ欠点としてはログサイズが肥大する
もちろん必要最小限のエスケープでもできるけどめんどくさいので完全再現じゃないが
ログ保存時
$message = preg_replace('/\r?\n/', '<br>', htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8'));
出力時
$message = preg_replace(['/>>([0-9]{1,3})/', '%(https?://[^\s&]+)%'], ['<a href="#$1">>>$1</a>', '<a href="$1">$1</a>'], $message);
とかなんじゃないかなと
リンクつける仕様上一旦エスケープしたのを戻す箇所があるので
そこでXSSを成立させないよう注意してコーディングする必要がある
エスケープ済みの文字は<や"のように&がつくので
[^\s&]のとこのように&でぶったぎるのが簡単
ちなみにurlの複数パラメータでも使われる&の扱いは面倒なので適当だけど
>>835のように&でリンク切れてるの見る限り5chも適当なのでおkってことで
878デフォルトの名無しさん (ワッチョイ b6da-Cd0d)
2020/03/26(木) 22:20:23.54ID:pJp2pNNg0 >>877
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
詳しくありがとうございます。
5chのログの内容は最初にチェックしてたはずなのに、すっかり忘れてました。
再度確認したところ、エスケープ処理済みな上にタグまで付いてました…
てっきり出力前にエスケープするのがPHPのルールだと思ってたのですが、
まさか事前にエスケープしておくとは…
出力時のpreg_replaceも配列にすれば一回で済むのですね…
レスアンカーとリンクで分けてました
>>835のリンクについては、専ブラで見てたので気づきませんでした。
直リン避けも考慮してhttps://まで見て、後は半角英数なら置換対象に
してしまおう!…って感じで雑に考えてました。
preg_replace('/(h?ttps?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/', '<a href="$1">$1</a>', $replaceMessage);
凄く参考になりました。
どうもです。
879デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 10:25:07.65ID:wUzzaaBN0 文字列と多次元配列の値に対して一括で処理できるメソッドで質問です。
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
下記メソッドで$hogeに多次元配列が渡ってきたと仮定しまして、
値が配列であれば再起処理でメソッドが再度呼び出されるそうです。
私の考えでは、再起処理で多次元配列の中の値が配列ではなかったときは、
Aの文字列の方に流れるのではと思っていたのですが、実際は@に流れるようです。
多次元配列の中の文字列にis_array()を掛けてもfalseなのですが、どういった理由で
@に流れるのでしょうか?
function test($hoge) {
// 配列の場合
if (is_array($hoge)) {
foreach ($hoge as $key => $value) {
// 再起処理
if (is_array($value)) {
test($value);
}
// @配列の中の値が配列でない場合
else {
...
}
}
return;
}
// A文字列の場合
return;
}
880デフォルトの名無しさん (ワッチョイ b1d2-pf+t)
2020/03/29(日) 12:47:17.78ID:XdbgZgVO0 @は再帰呼び出しで、Aは再帰の終了条件だね。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
配列の中に配列があったときは@が呼ばれるようになってる。
再帰を一度じっくり勉強したほうがいいよ。誤字も含めて。
881デフォルトの名無しさん (ワッチョイ 09da-Cd0d)
2020/03/29(日) 14:07:51.77ID:wUzzaaBN0 >>880
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
誤字失礼しました。
どうにも理解できなくて、再度質問しようと文字に起こしていたところ自己解決できました。
Aは文字列専用の終了条件で@は配列専用の終了条件だったようです。
再帰処理の際に値が文字列なのに、何で配列判定で true が出るのだろう?
というところが疑問だったのですが、
本来であれば配列の中の配列である [] で再帰処理されるところを、その中の値Bで
再帰処理されていると勘違いしておりました。
ご迷惑おかけしました。
$hoge = [
'piyo1',
'piyo2',
[
// B
'piyo3'
]
];
882デフォルトの名無しさん (ワッチョイ adda-Cd0d)
2020/03/29(日) 15:05:54.62ID:r8VR5IyJ0 書き方としては終了条件を早期returnして終了するべき(そうじゃないとひどく読みにくい)
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
一般化するなら
function apply_recursively($target, callable $callback) {
if (!is_array($target)) {
return $callback($target);
}
return array_map(function ($target) use ($callback) { return apply_recursively($target, $callback); }, $target);
// return array_map(fn($target) => apply_recursively($target, $callback), $target); // -> for PHP >= 7.4.0
}
883デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:30:19.50ID:KCykJRwi0 >>879
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
foreach 直後の if は不要で無条件に test($value) を行い、
Aは else にして @ に書いてた処理を書き、
関数の引数は function hoge(&$value) で参照で受けとるようにし、
foreach も foreach($hoge as &$value) にする。
こうしないと動かなくない?
884デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/29(日) 19:31:44.20ID:KCykJRwi0885デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/11(土) 19:45:53.72ID:9fxAF0s30 phpのechoを使ってルートフォルダからの絶対パスを指定して
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
ナビ部分のリンク変更をサイト全体に一括で行えるような書き方を教えてください
3年くらい前にやってたんですが
やり方がわからなくなってしまいました
886デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/12(日) 01:01:57.54ID:9sN7iYc+0 >>885
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
echoにそんな機能ないし、何が聞きたいのか伝わらないと思う。
find(grep)+sedのような、ファイルの中身に特定の文字列があれば、
それを一括で書き換えるようなことをしたいわけでもなさそうだし、
何かナビ用のリンクのリストをincludeしてるなら、
そのリストの中身を書き換えろで終わる話だけど、そんな簡単な話でもなさそうだし。
887デフォルトの名無しさん (ワッチョイ 4f5f-JsNC)
2020/04/12(日) 07:18:43.42ID:xGytKmNW0 細かく言いますと
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
一時期Web製作会社でコーディング業務をしており
html/cssは扱えるのですがphpはヘッダー、ナビ、フッターなど共通部分をincludeフォルダで共通化できる程度しか扱えませんでした
そして自社のドメインのサブドメインでテスト環境を作り、そこでHPを作成して客先の本番サーバにアップロードという工程で納品、保守管理をしていました
その場合、リンク先を絶対パスで書けないので相対パスにする訳ですが
phpで常にルートフォルダを取得して書き出し、それに続けて下層のリンク先を明記するようにしていたんですが
そのやり方を忘れてしまったので教えて欲しいのです
888デフォルトの名無しさん (ワッチョイ 671a-KRXG)
2020/04/12(日) 08:39:06.07ID:3vwO7tAb0 それだけ具体的に説明できるんならググった方が早いぞw
889デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 11:56:55.73ID:+wetVu4e0 2ch風の掲示板を作っており、考え方についてアドバイスをいただきたいです。
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
ログファイルでレスを記録して、1レス1行で構成されています。
ajaxを用いて遷移なしでの投稿反映と、レスアンカーにホバーすると、該当のレスを引っ張ってくる
ようになっています。
このレスアンカーへのホバーを行うと、当たり前なのかもしれませんが、添付の画像のように
どんどん_ajax.phpのファイルへのアクセス?が増えていってしまい、投稿ならまだしも、
ホバーするだけでPOSTを行うなんて、無駄な処理をさせているのではないか?
と考え出しております。
ログファイルは数百kb程度なので、投稿内容の全てをJS側で配列で保持をしていく方が
無難だったりしますでしょうか?
ttps://f.easyuploader.app/eu-prd/upload/20200412115052_69364c5954346f304857.png
890デフォルトの名無しさん (ワッチョイ a201-vZv9)
2020/04/12(日) 13:52:29.72ID:tx1YNXXn0891デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 14:07:51.14ID:+wetVu4e0892デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:43:40.33ID:1ZMEMPeI0 ->
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
=>
この使い分けをよく忘れるのですが
覚えておくコツはありますかね?
メインでPHP言語以外をやってるのでたまにPHP書くときよく混乱します。
893デフォルトの名無しさん (ワッチョイ 6ff1-Xgk8)
2020/04/12(日) 14:46:43.20ID:1ZMEMPeI0894デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/12(日) 15:36:12.26ID:ATqenNPh0895デフォルトの名無しさん (ワッチョイ f7da-AglQ)
2020/04/12(日) 16:48:22.18ID:+wetVu4e0 >>894
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
ども。
おっしゃる通りかもしれません。
投稿以外でサーバーに負荷掛けるより、クライアント側で処理した方が
良い気がしてきました。
1回投稿での文字数を制限してしまえばサイズも制御できそうですし。
896デフォルトの名無しさん (ワッチョイ 062c-5WFu)
2020/04/12(日) 22:01:27.62ID:JZPIrIOa0 Ruby なら、0〜1,000 までの配列を作っておいて、
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
読み込んだレス番号だけは、その文字列を設定していく
p posts = Array.new( 1001 )
出力
[ nil, nil, nil, 続く... ]
897デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/13(月) 00:40:29.11ID:DZv8piin0 どうせなら ruby じゃなくて JS で例示してやれよ。
phpのスレでなんなんだけどさ。
phpのスレでなんなんだけどさ。
898デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/13(月) 00:57:20.05ID:uI4POseh0 何かスレ番が飛んでいるんだけど
899デフォルトの名無しさん (ワッチョイ 6fa7-kpEi)
2020/04/13(月) 10:11:39.65ID:Hsuo/bvd0 RubyならRubyならってよく布教しに来るけどいい加減場違い空気嫁
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
>>887
URLの話じゃないでしょ?
内部の話なら別に相対パスにしなくても絶対パスでも問題ないんだけど。
その絶対パスがわからんって話?
自スクリプトから見た自分の絶対パスは__FILE__定数でわかる。
サーバのドキュメントルートが知りたいなら$_SERVER['DOCUMENT_ROOT']
ただしこういう環境変数($_SERVERや$_ENV)はあんまり過信しないほうがいいね。
900デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 13:03:40.61ID:emwZ0tr20 Eclipseで参考書通りに
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
print “¥n”入れてもコンソールで改行してくれないんだけどなんで?
901デフォルトの名無しさん (ワッチョイ 9fad-9n34)
2020/04/16(木) 17:50:16.15ID:mDx3pHSK0902デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/16(木) 18:32:43.61ID:jzlLoXMF0 Eclipseとかprint ""とかいう表記を見ると
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
古いか一般のPHP書籍とかかけ離れたもののきがするわ
あんま参考にしないほうがいいかもしれんね
903デフォルトの名無しさん (ワッチョイ 77b0-dkLK)
2020/04/16(木) 22:40:26.71ID:emwZ0tr20 OSはMac
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
eclipseでphp7
<?php
print “hello”;
print “¥n”;
print “world”;
print “¥n”;
?>
Kindle Unlimitedの参考書によるとこれで
hello
world
と出力されるみたいなんだけど実行すると
hello¥nworld¥n
ってなる
904デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/16(木) 22:55:55.17ID:Vn4RPyR40 そりゃなるだろな
905デフォルトの名無しさん (ワッチョイ ff2c-8Jcx)
2020/04/16(木) 23:11:06.27ID:tywb42E30 これを、Ruby で、実行してもエラーになる!
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
print “\n”;
基本的にプログラミングは、どの言語でも、半角英数字しか使えない。
全角文字のクォーテーション・全角空白なども使えない
\ も、日本語キーボードでは、バックスラッシュキーのこと!
\ という文字を使っちゃいけない!
これなら、Ruby でも改行される。
print "\n" ;
906デフォルトの名無しさん (ワッチョイ 9702-o1R8)
2020/04/16(木) 23:33:15.15ID:H8AaCGjg0907デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/17(金) 06:24:31.98ID:9clD5XXx0 半角で書くべきとこを全角で書いてるのは
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
動いてるようだから書き込んだときのミスとして
文字コードがおかしいんだろう
文字コード変えるか\nやめてPHP_EOLにしとけば
908デフォルトの名無しさん (ブーイモ MMcf-ZtLA)
2020/04/17(金) 10:18:56.55ID:OO65ehhVM バチスカってmacの専ブラで書き込むとクウォートが全角に、バックスラッシュが円マークに、自動変換される
909デフォルトの名無しさん (ワッチョイ 375f-xa8R)
2020/04/19(日) 11:58:51.62ID:KKQsn4ZP0 サーバー内で動くプログラミングは可能のことですか?
例えば無限ループで常に動かすプログラムとか
例えば無限ループで常に動かすプログラムとか
910デフォルトの名無しさん (ワッチョイ 9f5c-ycCE)
2020/04/19(日) 12:58:45.29ID:dTXGqJa40 可能なことアルヨ
911デフォルトの名無しさん (ワッチョイ 1701-QEis)
2020/04/19(日) 14:20:56.44ID:26zoB4wU0 可能アルヨ
912デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/19(日) 16:17:57.28ID:8HZGCfxQ0 普通はそんな事しないな
913デフォルトの名無しさん (ワッチョイ 1701-QEis)
2020/04/19(日) 23:14:11.96ID:26zoB4wU0 定期実行されるクローラーとかのこと言ってるんじゃないの?
914デフォルトの名無しさん (ワッチョイ 77a7-csEB)
2020/04/21(火) 16:09:14.67ID:DLCfuoS50 個人的にPHPでサーバ書いてるんでそれはよくやってる
ただPHPに限った話じゃないけどその手のバックグラウンド実行は
普通のレンタルサーバだと一定時間でkillされるだろうね
ただPHPに限った話じゃないけどその手のバックグラウンド実行は
普通のレンタルサーバだと一定時間でkillされるだろうね
915デフォルトの名無しさん (ワッチョイ 0de1-HPZ2)
2020/04/22(水) 08:46:54.32ID:kEPjMBTM0 定数を、成型した変数を代入することで宣言することはできませんか?
外部ファイル(.csv)を読み込み、連想配列$arrayを作成し、
クラス定数CLASS::CONSTをその配列$arrayにしたいのです
グローバル定数としてdefine(CONST, $array)することも試したのですが、いずれも出来ませんでした
外部ファイル(.csv)を読み込み、連想配列$arrayを作成し、
クラス定数CLASS::CONSTをその配列$arrayにしたいのです
グローバル定数としてdefine(CONST, $array)することも試したのですが、いずれも出来ませんでした
916デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
2020/04/22(水) 11:16:41.91ID:/bKUmTE30 それは定数って言わないのでは
917デフォルトの名無しさん (アウアウウー Sa83-Ha7z)
2020/04/22(水) 19:18:42.44ID:KcrgV6Jha 定数にはコンパイル時定数と実行時定数(immutable, readonly)とがあるが, PHPは基本的にコンパイル時定数しかサポートしていない
実現したいのは後者の実行時定数なんだろうが, 「php readonly」とかでググれば分かるように言語としてはサポートしていない
実現したいのは後者の実行時定数なんだろうが, 「php readonly」とかでググれば分かるように言語としてはサポートしていない
918デフォルトの名無しさん (ワッチョイ 0c01-UN6T)
2020/04/22(水) 22:18:15.55ID:K1Lxy7X30919915 (ワッチョイ 0de1-HPZ2)
2020/04/22(水) 23:55:38.61ID:kEPjMBTM0 すみませんできました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
defineだと変数渡しで定数を作れました
単にPHP5.6でdefineで定数に配列を入れられないため正常動作しなかったようです
PHP7.3の環境では動作しました
お手数おかけしました
920デフォルトの名無しさん (ワッチョイ a601-ZzZR)
2020/04/23(木) 08:33:15.04ID:n33m75pH0 ドットインストールでCakePHP勉強するお
921デフォルトの名無しさん (ワッチョイ 4c2c-Hty+)
2020/04/23(木) 08:59:23.02ID:C0/pHZNH0 CakePHP, Spring Boot などは、Ruby on Rails のコピーだから、
Rails を学んだ方が速いと思う
Rails を学んだ方が速いと思う
922デフォルトの名無しさん (ブーイモ MMed-enkp)
2020/04/23(木) 09:41:57.79ID:RRYW82KBM x ドットインストールでCakePHP勉強するお
o ドットインストールでCakePHP勉強するよ
正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
o ドットインストールでCakePHP勉強するよ
正しい日本語。
最近の日本人は気持ち悪い言葉づかいをする。
923デフォルトの名無しさん (ワッチョイ a601-ZzZR)
2020/04/23(木) 10:24:36.69ID:n33m75pH0 >>921
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
Webアプリの仕組み(裏でどう動いているか)を理解したくて、LaravelかCakePHPかで迷ってCakePHPを勉強しようと思ったんだけどLaravelはどう?
924デフォルトの名無しさん (ワッチョイ bade-1qfr)
2020/04/23(木) 13:03:21.20ID:9QHb+xSV0 >>922
体言止めに句点打つのめちゃくちゃ違和感あるんだが
体言止めに句点打つのめちゃくちゃ違和感あるんだが
925921 (ワッチョイ 4c2c-Hty+)
2020/04/23(木) 23:07:52.02ID:C0/pHZNH0 web アプリの作り方を学ぶのは、Ruby が最適!
本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?
ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる
web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
本当は、Sinatra が良いけど、web 上の教科書が少ないから、
Rails になるかな?
ただし、Rails は、半年ぐらい掛けて学ぶぐらい高機能。
本は、10冊ぐらい出てる
web サイトでは、日本語版・Rails チュートリアルの1つ古いバージョンなら、無料で読めるけど、
あまりに難しいので、初心者は本から始めるのが良い
926デフォルトの名無しさん (ワッチョイ 96f2-30bp)
2020/04/23(木) 23:15:49.37ID:l5RZFi5J0 RubyをNGワードに入れるのはデフォなんですかね?
927デフォルトの名無しさん (ワッチョイ e2ad-h7Ku)
2020/04/24(金) 02:12:49.04ID:rM9gQYtA0 >>926
次からテンプレに入れよう
次からテンプレに入れよう
928デフォルトの名無しさん (ワッチョイ 4ca7-Op/G)
2020/04/24(金) 02:24:32.60ID:nHNgt9zS0 単に使い方を学びたいと言ってるだけなら別にフルスタックでもいいけど
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
ソースコードレベルで仕組みを理解したいならフルスタックは疲れるだけ
slimあたりのマイクロフレームワークのソースコード読むといい
929デフォルトの名無しさん (オッペケ Sr72-Xss7)
2020/04/24(金) 05:55:46.89ID:cuZ5QlOgr なんで荒らしの相手をするんや。
ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。
WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。
PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
ホントにRubyが優れとるなら、PHPで書かれた有名ソフトがRubyで書かれなかった理由を提示させるべきや。
WordPressもNextCloudもPHPなんや。Facebookも元はPHPで書かれてた。
PHPerは胸を張って堂々としておけ。小バエが顔の前をうろちょろしても気にするな。
930デフォルトの名無しさん (オッペケ Srd7-V4ab)
2020/04/26(日) 16:06:33.45ID:EH1DMWp5r 小さなグループのための連絡帳づくりには便利だな
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
自分も使って現在5人くらいで使っておおむね合格点しかし
「こういう風になってたらもっといいなあ」多数w
931915 (ワッチョイ 0de1-HPZ2)
2020/04/26(日) 16:37:45.80ID:QChGrgCL0 RubyってPHPと張り合うものだったんだ?
あれはPerlと競合するものだと思ってた
あれはPerlと競合するものだと思ってた
932デフォルトの名無しさん (ワッチョイ efca-WM26)
2020/04/26(日) 22:04:15.59ID:NZagGUNV0 PHPはごった煮のテンプレートエンジンってイメージだな。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
スクリプトのパースがコードではなくテキスト出力から始まるしな。
そこが他のスクリプトと比べてもweb向きに使い勝手がいいところだと思う。
933デフォルトの名無しさん (ワッチョイ a7f1-trzR)
2020/05/02(土) 15:59:18.74ID:riUeVpMT0 https://www.youtube.com/channel/UCoRxcaATU1N9QdXXgmQLBFQ
このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
このふるちゃんという女の子が超絶にかわいいのだけど
このYoutuberってなにもの?
934デフォルトの名無しさん (ワッチョイ a7a7-D935)
2020/05/02(土) 21:47:33.77ID:ogKtp69S0 慶應法法からWebって…
935デフォルトの名無しさん (ワッチョイ 2701-ur4w)
2020/05/03(日) 11:44:53.69ID:eurrHnV60 下記のような、空以外のstringだけを通し、それ以外はnullを返すメソッドを作りたいんですが、
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます
function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
この処理に最適なメソッド名ってありますか? 暫定のfilterStringは何となく違う気がしてます
function filterString($var): ?string
{
return is_string($var) && $var !== '' ? $var : null;
}
936デフォルトの名無しさん (アウアウウー Saab-J/MA)
2020/05/03(日) 12:32:50.65ID:cPyz4pxla nullifyInvalidInputとか
937デフォルトの名無しさん (ササクッテロラ Sp5b-1Fal)
2020/05/04(月) 04:41:53.17ID:zTC9x9sUp nullifyって見たことないけどいい名前だな
938デフォルトの名無しさん (ワッチョイ df01-i6Oo)
2020/05/04(月) 11:40:37.27ID:au6sJ5VU0 GCのためにでかいオブジェクトをnullにするのならわかるけど
エラーハンドリング用途でnullじゃない値をnullにして返すってのはbad practice
エラーハンドリング用途でnullじゃない値をnullにして返すってのはbad practice
939935 (ワッチョイ 2701-ur4w)
2020/05/04(月) 17:10:17.02ID:PenCHXzY0940デフォルトの名無しさん (ワッチョイ 7f68-8DoZ)
2020/05/05(火) 02:01:57.19ID:2JXMMGLu0 各ページa,bからcページへの遷移を各ページのボタンa,bからとしたときに、ページbのボタン名をページaのものにブラウザのデバックモードかなんかで変更した場合に、
ページcから見るとisset(ボタンA)がtrueとなると思いますが、こういうパターンを見分ける方法ってありますでしょうか
ページcから見るとisset(ボタンA)がtrueとなると思いますが、こういうパターンを見分ける方法ってありますでしょうか
941デフォルトの名無しさん (ワッチョイ a7a7-D935)
2020/05/05(火) 03:32:16.49ID:abcVn/0z0942デフォルトの名無しさん (ワッチョイ a7a7-D935)
2020/05/05(火) 03:53:04.29ID:abcVn/0z0 と思ったけど、結局リファラも改ざんできちゃうから難しいね
JavaScriptで小細工も出来るけどそれすら改ざんされるのも想定してるなら
まあノーダメならそんな物好きなこと想定する必要はないと思うけど
ダメージあるなら設計変えればいいし
JavaScriptで小細工も出来るけどそれすら改ざんされるのも想定してるなら
まあノーダメならそんな物好きなこと想定する必要はないと思うけど
ダメージあるなら設計変えればいいし
943デフォルトの名無しさん (ワッチョイ 7f68-8DoZ)
2020/05/05(火) 16:36:02.14ID:2JXMMGLu0 ありがと➰。入力された値の正統性を確かめるのって難しいですね。自分しか使わないやつだから気にしないでおきます
944デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/05(火) 21:57:50.74ID:ZggaRwfV0 ページを表示する毎にランダム値を埋めて、submitされたページ名とその値とを検証したらどうかな。
945デフォルトの名無しさん (ワッチョイ ea02-7oqX)
2020/05/06(水) 19:48:47.60ID:KQs5P28n0 $a = [1, 2, 3];
と言う配列があったとして、そこから
$b[1][2][3] = '何か入れる';
と言う配列を作る簡単な方法はありませんでしょうか?
と言う配列があったとして、そこから
$b[1][2][3] = '何か入れる';
と言う配列を作る簡単な方法はありませんでしょうか?
946デフォルトの名無しさん (ワッチョイ bbca-BAqB)
2020/05/06(水) 19:53:23.20ID:x/qfttvN0 $b[$a[0]][$a[1]][$a[2]] = '何か入れる';
とか?
とか?
947デフォルトの名無しさん (ワッチョイ ea02-7oqX)
2020/05/06(水) 20:03:27.90ID:KQs5P28n0 ごめんなさい、質問の仕方が悪かったです
元の配列の長さは可変で、出来上がる配列の深さも深くなっていく感じです
$ary = [1,2,3]; //長さは可変
$val = '何か';
$ret = func($ary, $val);
var_dump($ret);
---
array (size=1)
1 =>
array (size=1)
2 =>
array (size=1)
3 => string '何か' (length=3)
元の配列の長さは可変で、出来上がる配列の深さも深くなっていく感じです
$ary = [1,2,3]; //長さは可変
$val = '何か';
$ret = func($ary, $val);
var_dump($ret);
---
array (size=1)
1 =>
array (size=1)
2 =>
array (size=1)
3 => string '何か' (length=3)
948915 (ワッチョイ 3fe1-k/Zm)
2020/05/06(水) 23:50:59.56ID:cMx2hlKH0 そういうあり得ないくらい複雑な何かを実装しようとするときは、
実はやりたいことを実現するもっと簡単な方法があることが多い
配列$bは常に1つの次元に1つの要素しか持たないまま深さだけ深くなってくのは無駄というか意味不明
やりたいこと自体を書いた方がいいと思う
実はやりたいことを実現するもっと簡単な方法があることが多い
配列$bは常に1つの次元に1つの要素しか持たないまま深さだけ深くなってくのは無駄というか意味不明
やりたいこと自体を書いた方がいいと思う
949945 (ワッチョイ ea02-7oqX)
2020/05/07(木) 01:58:37.98ID:T+6y7YdL0 元の配列の値をキーの深さとする配列ができれば、あとはなんとかなるのでその部分だけの質問としたのですが、わかりにくくてすみませんでした
やりたかったことはLaravelのRouteの真似事です
木構造のクラス書いてデータ保持するのも面倒だったので配列でなんとかしようと思いました
ただあまりゴリ押しで書いても見ずらいので既存の関数などで簡潔に書けたらと思い質問した次第です
結局、参照代入をforeahで回すと言う方法で落ち着きました
public static int get($uri, $action)
{
if ($uri == '/') {
$paths[] = '/';
} else {
$paths = explode('/', $uri);
}
$tmp = &static::$routings;
foreach ($paths as $path) {
$tmp = &$tmp[$path];
}
$tmp = $action;
return static::$instance;
}
やりたかったことはLaravelのRouteの真似事です
木構造のクラス書いてデータ保持するのも面倒だったので配列でなんとかしようと思いました
ただあまりゴリ押しで書いても見ずらいので既存の関数などで簡潔に書けたらと思い質問した次第です
結局、参照代入をforeahで回すと言う方法で落ち着きました
public static int get($uri, $action)
{
if ($uri == '/') {
$paths[] = '/';
} else {
$paths = explode('/', $uri);
}
$tmp = &static::$routings;
foreach ($paths as $path) {
$tmp = &$tmp[$path];
}
$tmp = $action;
return static::$instance;
}
950デフォルトの名無しさん (オイコラミネオ MM9b-BAqB)
2020/05/07(木) 10:33:19.60ID:n2/pzMnbM >>947
そのコードで言うところの func は一応実現してて、もっとシンプルな方法があるかを確認したいの?
それともまだ func を実現できてないの?
参照と再帰を使えば簡単なはずだけど、参照とループを使ってもできるはずだよ。
そのコードで言うところの func は一応実現してて、もっとシンプルな方法があるかを確認したいの?
それともまだ func を実現できてないの?
参照と再帰を使えば簡単なはずだけど、参照とループを使ってもできるはずだよ。
951デフォルトの名無しさん (オイコラミネオ MM9b-BAqB)
2020/05/07(木) 10:35:14.85ID:n2/pzMnbM >>949
もう答え出してたかw
もう答え出してたかw
952デフォルトの名無しさん (ワッチョイ cfe6-nerK)
2020/05/10(日) 13:00:56.09ID:R/KKgKZH0 CORSがさっぱり分からんので教えてください
953デフォルトの名無しさん (ワッチョイ bea7-C0uG)
2020/05/10(日) 16:35:05.72ID:vZKWBupI0 ざっくり
ブラウザがセキュリティのために(あくまでも独自に)設定している、
同一オリジンポリシーというものがある。
同一オリジンってのは同じプロトコル 同じホスト 同じポートのことで、
同一ドメインでもこれらが違ったら別オリジンということになる。
ブラウザはJavaScriptのXMLHttpRequest(XHR)やFetchAPIから、
別オリジンのサイトには意図的にアクセスしないようにしてある。
その制限を超えるのがCORSで、
あるサイトを開いた時、別オリジンのサイトにXHRなどからアクセスしようとしてたら、
ブラウザは追加のOriginヘッダをつけて、その別オリジンに対して確認作業を行う。
そのサイトがAccess-Control-Allow-Originというヘッダを返してこれば、
意図したものと把握し、制限を超えてアクセスすることになる。
Access-Control-Allow-Originは、
よそのサイトのXHRから呼び出し可能なAPIを提供してる時はつけるべきだが、
よくわかってない人が、自サイトの掲示板でつけてしまった場合、
悪意あるサイトにアクセスするだけで、CSRFが成立して、犯罪予告を書いてしまったりする。
ブラウザがセキュリティのために(あくまでも独自に)設定している、
同一オリジンポリシーというものがある。
同一オリジンってのは同じプロトコル 同じホスト 同じポートのことで、
同一ドメインでもこれらが違ったら別オリジンということになる。
ブラウザはJavaScriptのXMLHttpRequest(XHR)やFetchAPIから、
別オリジンのサイトには意図的にアクセスしないようにしてある。
その制限を超えるのがCORSで、
あるサイトを開いた時、別オリジンのサイトにXHRなどからアクセスしようとしてたら、
ブラウザは追加のOriginヘッダをつけて、その別オリジンに対して確認作業を行う。
そのサイトがAccess-Control-Allow-Originというヘッダを返してこれば、
意図したものと把握し、制限を超えてアクセスすることになる。
Access-Control-Allow-Originは、
よそのサイトのXHRから呼び出し可能なAPIを提供してる時はつけるべきだが、
よくわかってない人が、自サイトの掲示板でつけてしまった場合、
悪意あるサイトにアクセスするだけで、CSRFが成立して、犯罪予告を書いてしまったりする。
954デフォルトの名無しさん (ササクッテロレ Sp33-UNI4)
2020/05/11(月) 04:19:24.53ID:VLhDUqRop955デフォルトの名無しさん (アウアウエー Sa52-1T3V)
2020/05/21(木) 20:00:19.93ID:yfswt4qEa ファンキーさが足りないね
956デフォルトの名無しさん (ワッチョイ 4e2c-g3Kq)
2020/05/21(木) 20:50:27.91ID:HuNUoNoV0 CORS は、ブラウザでアクセスする人を保護するもの。
サーバー経由にすれば、クロスドメインでもアクセスできる
自分のPC にサーバーを立てて配信する、一番簡単な方法は、
VSCode の拡張機能のLive Server
サーバー経由にすれば、クロスドメインでもアクセスできる
自分のPC にサーバーを立てて配信する、一番簡単な方法は、
VSCode の拡張機能のLive Server
957デフォルトの名無しさん (ワッチョイ 4ea7-f9m4)
2020/05/22(金) 02:32:27.59ID:1xmyMtu40 肝はあくまでもブラウザの機能ってところだな
それに頼って無策ではいけないよ
実行前最後のプロセスで再ログイン求めるとかやるべき対策はちゃんとやる
それに頼って無策ではいけないよ
実行前最後のプロセスで再ログイン求めるとかやるべき対策はちゃんとやる
958デフォルトの名無しさん (ワッチョイ 5bf1-D4L3)
2020/05/26(火) 12:57:20.59ID:DWJQ5IJN0 <?php
の閉じタグをそれが文末にくるときは省略が奨励されてるのは
どういう理由からですか?
の閉じタグをそれが文末にくるときは省略が奨励されてるのは
どういう理由からですか?
959デフォルトの名無しさん (オイコラミネオ MMe3-rpJt)
2020/05/26(火) 16:21:28.80ID:aOYHLQ64M960デフォルトの名無しさん (ワッチョイ 5b02-RkjI)
2020/05/26(火) 17:00:18.40ID:Be8LwKLh0 あれそうだったの?
閉じた直後の改行コードもNG?
>[改行]
[改行]
[EOF]
じゃなくて
>[改行]
[EOF]
もダメで、
>[EOF]
じゃないとダメだとか?
閉じた直後の改行コードもNG?
>[改行]
[改行]
[EOF]
じゃなくて
>[改行]
[EOF]
もダメで、
>[EOF]
じゃないとダメだとか?
961デフォルトの名無しさん (オイコラミネオ MMe3-rpJt)
2020/05/26(火) 19:29:00.77ID:aOYHLQ64M >>960
閉じた直後の改行はおk
閉じた直後の改行はおk
962デフォルトの名無しさん (ワッチョイ 4e61-Z0SM)
2020/05/26(火) 19:30:28.09ID:jhkc2VSZ0 閉じタグ直後の改行1つだけは例外だが閉じない方がミスを減らせる
963デフォルトの名無しさん (ワッチョイ fa5c-f9J/)
2020/05/26(火) 19:39:01.88ID:J1Rp1kon0 ドハマりしたなあ
964デフォルトの名無しさん (ワッチョイ a363-crVl)
2020/05/26(火) 20:04:54.09ID:vo31pS1W0 何故ダメなのかその理由が理解出来ないと
「閉じタグを付けるな」が一人歩きしそう
「閉じタグを付けるな」が一人歩きしそう
965デフォルトの名無しさん (ワッチョイ 0eda-crVl)
2020/05/26(火) 20:40:57.98ID:7EF4fRQa0 マニュアルにも明記されてるんだよなぁ
https://www.php.net/manual/language.basic-syntax.phptags.php
ぶっちゃけ紛らわしいので"PHPだけ書くなら"閉じタグを付けるなでいいじゃろ
https://www.php.net/manual/language.basic-syntax.phptags.php
ぶっちゃけ紛らわしいので"PHPだけ書くなら"閉じタグを付けるなでいいじゃろ
966デフォルトの名無しさん (オイコラミネオ MMe3-rpJt)
2020/05/26(火) 20:47:29.05ID:aOYHLQ64M short_open_tag はデフォルト On にしてほしい
967デフォルトの名無しさん (ワッチョイ 5b02-RkjI)
2020/05/26(火) 21:01:26.17ID:Be8LwKLh0 >>961
なるほどthx!
なるほどthx!
968デフォルトの名無しさん (ワッチョイ a363-crVl)
2020/05/26(火) 22:08:09.51ID:vo31pS1W0 逆に言えば、
"PHPを埋め込みで使うなら"閉じタグは必須ってことだな
いちいちそんな判断するなら、付けておけば安心
"PHPを埋め込みで使うなら"閉じタグは必須ってことだな
いちいちそんな判断するなら、付けておけば安心
969デフォルトの名無しさん (ワッチョイ 0eda-crVl)
2020/05/26(火) 23:31:42.74ID:7EF4fRQa0 捻くれてんなぁ
970デフォルトの名無しさん (ワッチョイ 3e02-f9J/)
2020/05/26(火) 23:37:24.18ID:f5esX2180 IDE使ってたらその辺の面倒見てくれるんじゃないの
971デフォルトの名無しさん (ワッチョイ 41ca-buPU)
2020/05/27(水) 00:30:46.50ID:/hEgymZm0 埋め込みで使う時に閉じタグを書かないってのが不可能なわけで。
972デフォルトの名無しさん (ワッチョイ 51f1-Jx8k)
2020/05/28(木) 23:49:50.69ID:rxZlNEYS0 ENT_QUOTESのENTとは何の英単語の略でしょうか?
973デフォルトの名無しさん (オッペケ Sr8d-5jEI)
2020/05/29(金) 00:53:17.52ID:laUVUDFGr >>972
エンティティ
エンティティ
974デフォルトの名無しさん (アウアウエー Sa23-hNtB)
2020/05/30(土) 19:49:27.83ID:556K1q3ea なんで汎用性のある言語はCでできてPHPではできないの?
975デフォルトの名無しさん (ワッチョイ c163-w12y)
2020/05/30(土) 20:00:27.98ID:bnqGe2Mx0 特定言語で出来て、他の言語で出来ない事なんてそんなにない
976蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb3-XpRd)
2020/05/30(土) 20:08:51.95ID:5AFCcPcpd >>974
PHPからWin32やLinuxのシステムコールを呼び出す方法が面倒だし、コスト最小ではないから、C/C++が優位。
PHPからWin32やLinuxのシステムコールを呼び出す方法が面倒だし、コスト最小ではないから、C/C++が優位。
977蟻人間 ◆T6xkBnTXz7B0 (スププ Sdb3-XpRd)
2020/05/30(土) 20:12:53.11ID:5AFCcPcpd 例え、PHPで汎用言語を作ったとしても、PHPの実行時モジュールが邪魔なコストになる。
978デフォルトの名無しさん (ワッチョイ c163-w12y)
2020/05/30(土) 20:22:04.21ID:bnqGe2Mx0 Win32やLinuxのシステムコールを呼び出す方法は
どの言語でも面倒くさいだろう
どの言語でも面倒くさいだろう
979デフォルトの名無しさん (ワッチョイ 2ba7-4KSb)
2020/05/30(土) 21:18:51.46ID:Ef5WX5UN0 高級言語であればあるほど向いてない
980デフォルトの名無しさん (ワッチョイ d312-LwiI)
2020/05/31(日) 14:51:06.35ID:DtypBXIf0 「汎用性のある言語」の意味するところが分からんとなぁ
「CでできてPHPではできない」も, 「汎用性のある言語」をCやPHPで実装する話なのか, CやPHP自体の汎用性の話なのか分からん
前者なら別にどっちでも書けるけどコンパイルするなら最終的にセルフホスティングするだろうし仮想マシンやインタプリタで実行するなら処理系の速度が重要だからCが選ばれるだろう
後者ならCだって何でも出来るのは確かだけど, 低レベルプログラミングには向いてても例えばWebアプリケーション開発には向いてない
Cは汎用的な「システムプログラミング言語」で, PHPは(今は)汎用的な「スクリプト言語」だからそもそも目的が違うとしか
「CでできてPHPではできない」も, 「汎用性のある言語」をCやPHPで実装する話なのか, CやPHP自体の汎用性の話なのか分からん
前者なら別にどっちでも書けるけどコンパイルするなら最終的にセルフホスティングするだろうし仮想マシンやインタプリタで実行するなら処理系の速度が重要だからCが選ばれるだろう
後者ならCだって何でも出来るのは確かだけど, 低レベルプログラミングには向いてても例えばWebアプリケーション開発には向いてない
Cは汎用的な「システムプログラミング言語」で, PHPは(今は)汎用的な「スクリプト言語」だからそもそも目的が違うとしか
981デフォルトの名無しさん (ワッチョイ 1689-K9ci)
2020/06/03(水) 09:41:53.03ID:Dz3eZEWL0 質問いいでしょうか?
ローカル環境で動かしています。
昨日macのOSを更新したところ、USBからのデータの取得ができなくなりました。
Warning: file_get_contents(URL): failed to open stream: Operation not permitted
対応方法をご存知の方がいらっしゃいましたら教えていただけると幸いです。
URLの打ちミスやphp.iniの「allow_url_fopen = On」も確認済みです。
macOSはバージョン10.15.5です。
ローカル環境で動かしています。
昨日macのOSを更新したところ、USBからのデータの取得ができなくなりました。
Warning: file_get_contents(URL): failed to open stream: Operation not permitted
対応方法をご存知の方がいらっしゃいましたら教えていただけると幸いです。
URLの打ちミスやphp.iniの「allow_url_fopen = On」も確認済みです。
macOSはバージョン10.15.5です。
982デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/03(水) 10:12:12.14ID:/BExPaqE0 >> 981
だめだ
質問の許可を確認してからしたまえ
だめだ
質問の許可を確認してからしたまえ
983デフォルトの名無しさん (ワッチョイ 2d63-Ee3U)
2020/06/03(水) 10:24:20.75ID:jHJSY4FJ0 どの窓口に並べば良いんでしょうか?
984デフォルトの名無しさん (オッペケ Sred-xhRj)
2020/06/03(水) 20:16:47.05ID:HabAm56lr Htmlタグとphpが混在するとソースコードが
見づらく感じるのですが、なにかいいコツはないものでしょうか
見づらく感じるのですが、なにかいいコツはないものでしょうか
985デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/04(木) 01:20:43.78ID:OPvY9Lkv0 >>984
コツコツがんばるんだ
コツコツがんばるんだ
987デフォルトの名無しさん (アウアウエー Sab2-f6iC)
2020/06/04(木) 01:38:03.72ID:ZQetHFOna >>984
テンプレートエンジンを使ってみては?
テンプレートエンジンを使ってみては?
988デフォルトの名無しさん (ワッチョイ da2d-RCge)
2020/06/04(木) 05:17:00.76ID:TkjFvET+0 今思いついたが、<?php ?>の前後に改行2つ入れると、見やすくなる気がする。
989デフォルトの名無しさん (ワッチョイ b908-INBt)
2020/06/04(木) 13:31:57.31ID:O8iG8kTh0990デフォルトの名無しさん (オイコラミネオ MM65-I6IY)
2020/06/04(木) 13:39:52.83ID:Rfl/DppQM PHPそのものがテンプレートエンジンみたいなものじゃん
991984 (ワッチョイ b9fd-xhRj)
2020/06/04(木) 18:09:53.35ID:5+4XWaYg0 ありがとうございます。
改修なんで選択の余地はないです。
あと、cakephpというフレームワークは
マイナーなんですか?
改修なんで選択の余地はないです。
あと、cakephpというフレームワークは
マイナーなんですか?
992デフォルトの名無しさん (オッペケ Sred-WN7s)
2020/06/04(木) 18:11:07.81ID:ph5uM4S6r マイナーではないけどLaravelにしといたほうがいい
993デフォルトの名無しさん (ワッチョイ b908-INBt)
2020/06/04(木) 19:30:46.27ID:O8iG8kTh0 >>991
日本では一番メジャー(だった)
今はLaravelが強いけど
昔からCake使ってる人はテンプレエンジンを使わない傾向があるかな
Cakeにも載せる事はできるんだけどね
Laravelには始めからBladeっていうテンプレートエンジンがついてる
日本では一番メジャー(だった)
今はLaravelが強いけど
昔からCake使ってる人はテンプレエンジンを使わない傾向があるかな
Cakeにも載せる事はできるんだけどね
Laravelには始めからBladeっていうテンプレートエンジンがついてる
994デフォルトの名無しさん (ワッチョイ 86a7-7hTT)
2020/06/05(金) 10:12:29.56ID:DlwrMm/y0995デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/05(金) 13:01:16.90ID:td6kQI8l0 なぜ人はMacBookProをすすめるのですか?
わたしはずっとWindows使いで新たな学習コストを消費したくないのですが。
わたしはずっとWindows使いで新たな学習コストを消費したくないのですが。
996デフォルトの名無しさん (ワッチョイ 65c4-sznY)
2020/06/05(金) 13:04:55.57ID:BhXHxLMP0 ・デバイスとして高品質、見た目も良い
・高解像度ディスプレイが標準のモデルが多い
・デュアルブートが可能で環境選択の幅が広がる
こんなとこじゃない?
使いたくないなら使わなきゃいいじゃん。
学習コストが〜とか言って無駄な書き込みしてる時間的コストはどうでもいいのかな?
・高解像度ディスプレイが標準のモデルが多い
・デュアルブートが可能で環境選択の幅が広がる
こんなとこじゃない?
使いたくないなら使わなきゃいいじゃん。
学習コストが〜とか言って無駄な書き込みしてる時間的コストはどうでもいいのかな?
997デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/05(金) 13:10:00.56ID:td6kQI8l0 Windowsでも同じ条件を満たしてるじゃないか。
998デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/05(金) 13:11:25.62ID:td6kQI8l0 Macは滅びたほうがいい。
使っている人といない人が混在したら互換性の問題が甚大になる。
使っている人といない人が混在したら互換性の問題が甚大になる。
999デフォルトの名無しさん (ワッチョイ 65c4-sznY)
2020/06/05(金) 13:51:16.73ID:BhXHxLMP0 そうなるといいね。
ただ、実現性の薄い可能性に思いを巡らす想像コストwに配慮しつつ
自分のやりたいことに戻った方がいいよ。
ただ、実現性の薄い可能性に思いを巡らす想像コストwに配慮しつつ
自分のやりたいことに戻った方がいいよ。
1000デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
2020/06/05(金) 14:20:12.90ID:td6kQI8l0 ↑この人ハゲ!
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 554日 21時間 11分 27秒
新しいスレッドを立ててください。
life time: 554日 21時間 11分 27秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 高市「中国さんお願い電話で話そ、このままじゃ武力衝突になっちゃう😭」日中間の専用電話に日本側からかけるも無視される [931948549]
- アメリカ人「トランプは高市に対して黙れと言ったのに彼女は方針を転換していない。日本は5常任理事国からも全く支持を得られていない」 [884040186]
- 【悲報】中国メディア「高市が撤回して済む話ではなくなった。わざと戦闘機をレーダー照射距離に来させる戦争扇動者だ」 [359965264]
- 【物理学】時速300kmの弾丸を撃たれても時速300kmで走って逃げれば相殺されて無傷なの?
- 中国、1年半で航空自衛隊の全戦力に匹敵する戦力を追加配備している模様...高市完敗確定 [237216734]
