X



【PHP】下らねぇ質問はここに書き込みやがれ 10

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ cfe8-+65u)
垢版 |
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0
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
0107デフォルトの名無しさん (ワッチョイ ffa7-BT/j)
垢版 |
2019/01/31(木) 15:28:24.41ID:rgWv2NOA0
>>104
名前空間を指定しないということは
標準関数や内部クラスと同じグローバルの名前空間(\)に属することになるので
もちろんコーディングする上での利便性はいい
名前空間がPHP5.3から導入されたように昔はなかったわけだし「やりよう」によっては問題にならない
例えば被ってしまってエラー出たら関数名を変えるとか
被る可能性がかぎりなくないような風変わりな関数名をつけるとか
先人がその「やりよう」が面倒だったから導入したんだけど
実際にはよほど巨大なプロジェクトでもない限り問題は起きないと思う
あとは名前空間の概要見て決めたらいいんじゃないかな
http://php.net/manual/ja/language.namespaces.rationale.php
他人に使ってもらうことを考慮するならつけるべきだけどね
0108デフォルトの名無しさん (ワッチョイ ffba-zj6v)
垢版 |
2019/01/31(木) 19:50:03.57ID:8UUA+SfH0
>>107
解説ありがとうございました。
ところで関数にprivateやpublicを付けられるのはclassの中だけですか?
namespaceの中でprivateな関数を定義することは出来ませんか?
つまり、そのnamespaceの中だけで作業する為の関数で、
外部に公開したくない関数です。
0109デフォルトの名無しさん (ワッチョイ 7f89-SDwV)
垢版 |
2019/02/06(水) 14:06:21.85ID:7EDRIJEy0
質問させてください。
配列で「りんご・バナナ・みかん・りんご・みかん・りんご」とあった場合、
これを「りんご1・バナナ1・みかん1・りんご2・みかん2・りんご3」
みたいに同じものが何個目かを書き加えたいのです。
どうやるといいしょうか?
0110デフォルトの名無しさん (ワッチョイ 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);
0115デフォルトの名無しさん (ワッチョイ 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
)
0116デフォルトの名無しさん (ワッチョイ 0289-fard)
垢版 |
2019/02/08(金) 00:54:59.90ID:DKnzBuB20
>>110
返信が遅くなってしまいすみません。
うまくできました。
本当にありがとうございます。
0117デフォルトの名無しさん (ワッチョイ e101-95g7)
垢版 |
2019/02/08(金) 01:23:31.06ID:1Q4bQ8+M0
phpでスクレイピングした文字列をmysqlのデータベースにInsertしたいのですが、ざっくりどういう風にやればよいでしょうか?
スクレイピング自体は出来ていて、ここからDBに挿入する方法が知りたいです。
よろしくおねがいします。
0118デフォルトの名無しさん (オッペケ Srd1-da9w)
垢版 |
2019/02/08(金) 08:16:42.39ID:Waqd0NNdr
ざっくりいうとINSERTのSQL文を書けばいいんだよ
0120デフォルトの名無しさん (ワッチョイ a275-Ctdi)
垢版 |
2019/02/08(金) 16:27:15.56ID:k5rPGxdZ0
サーバー側に数万枚の画像を保存する場合、数万枚を1つのフォルダに入れるのと、10000台、20000台のようにフォルダ分けしたほうがいいですか?
0122デフォルトの名無しさん (ワッチョイ a275-Ctdi)
垢版 |
2019/02/08(金) 16:57:55.31ID:k5rPGxdZ0
1ページに20件〜50件くらいサムネ表示したり、1ページに数枚表示したり
ネットショップのようなイメージ
0124デフォルトの名無しさん (ワッチョイ 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にならないのか、教えていただけないでしょうか><
どうか、よろしくお願いします。
0126124 (ワッチョイ 8646-OF6d)
垢版 |
2019/02/09(土) 06:31:09.14ID:3JjKiGqr0
すみません。$request->emailです。
タイプミスはなくても、falseになります。
よろしくお願いします。
0131デフォルトの名無しさん (ワッチョイ 6e63-OF6d)
垢版 |
2019/02/09(土) 18:23:52.81ID:LiyCmRY90
>>130
PEAR server is down

「PEAR公式サイトのウェブサーバー上で改変された『tainted go-pear.phar』と
セキュリティ侵害が発見されました。PEARのウェブサイト自体は無害なクリー
ンサイトを再構築するまで使用不能とします。より詳細な情報はPEARの公式
ブログでチェックしてください」
0132デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
垢版 |
2019/02/10(日) 04:09:45.41ID:jBesuRSj0
Python勉強してるの
リストから”取り出す”っていう日本語ってなんか違和感ある
リストから取り出して要素を付け加えると元のリストにも反映されてる
これって取り出すっていう日本語だとイメージ変だよね

なんていうかリストのいち部分をズームアップしてそこだけ見えるようにしたようなイメージのほうがいいきがするの
だって取り出したんだったらいつ元に戻したの?っていうことになるよね?
イメージ的に
たぶん想像だけど元々のリストのメモリ上の位置は全く変わっていなくてずーっとそこにあるから取り出したっていう日本語が変なんだと思うの
0133デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
垢版 |
2019/02/10(日) 04:13:15.33ID:jBesuRSj0
これはリスト=辞書a、辞書b
みたいになってて辞書aをとりだしてそこになにかを付け加えた場合に
元のリストに変更がそのまま反映されることを言ってます
取り出すっていう日本語の操作だといつ元に戻したのっておもうよね?
0136デフォルトの名無しさん (ワッチョイ 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);
0137デフォルトの名無しさん (ワッチョイ 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になりました… なんででしょうか?
0138デフォルトの名無しさん (ワッチョイ e101-feI+)
垢版 |
2019/02/10(日) 22:44:52.33ID:Bb8eA8KO0
勝手にリダイレクトされるのとめる方法ないですかね
0140デフォルトの名無しさん (アウアウウー Sa05-OF6d)
垢版 |
2019/02/13(水) 15:56:50.06ID:qcwaRdjDa
cronで実行しているPHPで不具合が出て調べているのですが、
php.iniでエラーログを指定していない場合、
コマンドラインからPHPを実行した時のエラーログってどこに出るのでしょうか?
apacheで実行した場合はapacheのエラーログに出るようですが
0142デフォルトの名無しさん (ワッチョイ 2702-wP4P)
垢版 |
2019/02/16(土) 03:56:24.05ID:p8v5qaF40
質問させていただきます

データベースにセッション保存するようにsessionhandlerinterfaceを作りました
session_set_save_handlerで該当のハンドラを指定したらちゃんとデータベースにも書き込めているのですが
あるサイト上の複数ページで統一的にこのデータベース利用のセッションを使うには
各ページでsession_startの前に毎回ハンドラ指定をする必要があるのでしょうか?
(テストしてみると指定しないとデフォルトのファイル利用のセッションが作られているようでした)

php.iniか何かの編集でそもそもデフォルトをデータベース利用のセッションにするということなしに
上手いやり方があるのであればお教えいただければ幸いです
どうぞよろしくお願いいたします
0143デフォルトの名無しさん (ワッチョイ a761-8zyB)
垢版 |
2019/02/17(日) 12:12:25.21ID:vpvr2f070
>>140
cronから実行したプロセスは端末と結びついていないから、リダイレクト指定しなければただ閉じてる。
0146デフォルトの名無しさん (ワッチョイ 5ff0-cT+3)
垢版 |
2019/02/18(月) 18:19:22.08ID:yhtTsT3P0
laravelに関する質問を受け付けていただけますと幸いです><

今まで使っていたcontroller(app/http/controllers/)が、突然使えなくなりました。
<現象>
上記パスのcontrollerを変更しても反映されない。
上記パスのcontrollerを削除しても、古いcontrollerの設定が生きてて、プログラム自体は従来どおり動く
なにか、他のパスに古いcontrollerが保存されていて、そっちを読んでいるような感じがする

という感じなのですが、何か改善する方法を教えてくださるかた、いらっしゃいませんでしょうか?
0147デフォルトの名無しさん (ワッチョイ 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'
--------------------
これと同じようなことはどのように実現しますか
0149デフォルトの名無しさん (ワッチョイ 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);
 }
}
親クラスにこんなん入れて必要なときに参照すれば
少しはましになるんではないかと
0150148 (ワッチョイ a514-8eq+)
垢版 |
2019/02/24(日) 02:45:30.45ID:yLdhIKyP0
>>149
遅くなりましたがレスありがとうございます
わざわざ子クラスにまで書く必要はなさそうですね
0151デフォルトの名無しさん (ワッチョイ 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
とか試したけどダメだったわ;
0158デフォルトの名無しさん (ワッチョイ 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という改行コードは存在するのでしょうか?
よろしくお願いします
0159デフォルトの名無しさん (ワッチョイ 16a7-3PTc)
垢版 |
2019/03/07(木) 03:55:06.79ID:wQ6Vu2No0
改行を\n\rで保存したり取り扱うエディタが存在するかもしれないし
\r\nと勘違いして\n\rとか渡しちゃうかもしれないし
そんな人にも<br><br>と2つにはせずに<br>1つにしてくれる親切設計ってだけでは
0160デフォルトの名無しさん (ワッチョイ d6da-DZHv)
垢版 |
2019/03/07(木) 08:24:12.22ID:2g7ZW4ya0
めんどくさい
CR絶滅してLFだけで統一してくれればいい
ありがとうございました
0162デフォルトの名無しさん (ワッチョイ 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 を閉じてしまってうまく動かせません。
なにか良い方法はありませんか?
0165デフォルトの名無しさん (ワッチョイ b7ba-/kwh)
垢版 |
2019/03/08(金) 18:15:43.51ID:yu/ETmP20
>>163
言葉足らずだったね。スマン。
OSによっての解釈の話ではなくて、本来のCR、LFの意味での話。

CRはキャリッジリターン(行頭復帰)、LFはラインフィード(行送り)。
元々タイプライター(テレタイプ)から来てると思うけど、PCにおいてそれぞれ片方だけ
使う事あったのかな?って話。

結局使わないからOSによって都合のいい解釈になったんだろうけど。
まあどうでもいいや。スレチスマン。
0166デフォルトの名無しさん (ワッチョイ 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)
に「&」があるのですが、それを取り除くとエラーが出なくなりますが、
関数の引数の前に & はつけることがあるのでしょうか?
0169デフォルトの名無しさん (ワッチョイ 12a9-ouaW)
垢版 |
2019/03/08(金) 19:42:19.86ID:4NSKE0Lh0
>>167-168
ありがとうございます、参照渡しというのがあるのですね。
php 5.4で、参照渡しが無くなったので、エラーが出ていることがわかりました。
&を取っても動いている感じなのですが、とりあえずそれで様子を見たいと思います。
0171デフォルトの名無しさん (ワッチョイ 12a9-ouaW)
垢版 |
2019/03/09(土) 02:21:59.24ID:BXeyfCeA0
>>170
>多分&をつけるほうが正解なんじゃないかな?
クラスのことは勉強不足でわからないのですが、
class hoge
function useredit($user) {}

function useredit(&$user) {}
に変更するとエラーが出なくなりました、
確かに両方で無しか有りにするとエラーが出ないので、どちらが良いかわかりませんが、
これで様子を見たいと思います、ありがとうございました。
0172デフォルトの名無しさん (ワッチョイ de46-/kwh)
垢版 |
2019/03/09(土) 07:23:29.43ID:4+hj1jJB0
>>164
ありがとうございます

そのコードでも、−>の'>'が、<input タグの閉じる>と認識されてしまいます。
どうやってエスケープしていいか、方法が見つからないので、多重配列を避けて記述するようにします。
0173デフォルトの名無しさん (ワッチョイ 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':''>
になってるの?
それともそこでエラーが出てて自分でそこが原因だと思ってるってこと?
0175デフォルトの名無しさん (ワッチョイ 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行じゃ無理とか
行頭に書かないといけないとかあるのかもしれない
0176175 (ワッチョイ 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':''?>>
0177デフォルトの名無しさん (ワッチョイ 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行で綺麗に書けないのが残念でした。

本当ありがとうございました!
0183デフォルトの名無しさん (ワッチョイ 137d-td6u)
垢版 |
2019/03/15(金) 10:45:15.54ID:+YXguzLt0
質問させてください

ファイルを開く
処理1
ファイルを閉じる

ファイルを開く
処理2
ファイルを閉じる

というようなコードを書いたんですが、
ファイルを開く
処理1
処理2
ファイルを閉じる

に変えた方がいいですか?
懸念としてはファイルを開くという処理そのものが処理速度的に重いのであまり繰り返すのはよくないかな?と
1と2を分けた理由は一つにまとめると処理が複雑になって可読性が低くなってしまったからです
お力添えよろしくお願いします
0184デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
垢版 |
2019/03/15(金) 16:36:34.12ID:9yz/tpkK0
>>183
素人的な考えだけど、ファイルを開くとファイルを閉じるを二回もしてるから
一回で済ますことができるならまとめたほうがいいかもだしなんで開くと閉じるを2回もしてるの?理由があるの?とかいわれるだろうし
0185デフォルトの名無しさん (ワッチョイ cf63-kdx8)
垢版 |
2019/03/15(金) 16:52:05.57ID:t0fouEo60
ファイルに対する操作が追記なのか、それともランダムアクセスによる更新なのか
ファイルのサイズがどの位なのか、
処理1と処理2は独立した内容なのか、それとも順序性があり、処理1が完了する前提が必要なのか
などなど色々条件がありそうだけど、
乱暴に言ってしまうけど、ファイル操作なんて大して重たい処理ではないと思う
0186デフォルトの名無しさん (ワッチョイ 137d-td6u)
垢版 |
2019/03/15(金) 17:11:16.81ID:+YXguzLt0
>>184 >>185
PC上でフォルダを覗いてファイルを開くと動作がもさっとしてる(スペックによる)けど、サーバー側ではそういった見た目(GUI)を伴わないから実際はサクサクサクッ!と動いてると考えていいですか?

どうしても自分のPC上での動きを参考に「ファイル操作」を捉えてるから、「開いて閉じて開いて閉じて」は動作が遅いかもと感じます。間違った考え方とは薄々思ってますけど
0187デフォルトの名無しさん (ワッチョイ cf63-kdx8)
垢版 |
2019/03/15(金) 17:18:10.78ID:t0fouEo60
正確に言えば、PHPが動作している環境次第
ストレージの性能が良いなら殆ど気にする必要が無いだろうし
扱うファイルがとても大きいならファイル操作はそれなりの時間が掛かる
示された条件だと、この程度の一般的な見解しか出てこないと思う
0190デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
垢版 |
2019/03/15(金) 18:02:24.87ID:9yz/tpkK0
phpのセッションとかでセッションの中身が1の時はAのページ成型、セッションの中身が2の時はBのページの成型、セッションの中身が3の時なら中身を1にしてAのページにって作られてた時に
ブラウザのクロームとかの履歴では全部同一のページと認識されて上書きされるの?前のページ内で書かれてたものも全部上書きされるのか?
0191デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
垢版 |
2019/03/15(金) 21:21:03.69ID:L+hp7qbL0
Ruby では、小さいサイズで、読み込みだけなら、
File.read, readlines で、一気に全部読み込んで閉じる

処理は、その後に行う

読み込んで書き戻すのなら、処理中もファイルを開いておくかも知れないけど、
そうするとその間、排他制御で、そのファイルはロックされる
0192デフォルトの名無しさん (ワッチョイ 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が使えるようにするには
どうしたらいいのでしょうか?
0193デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
垢版 |
2019/03/19(火) 13:20:28.75ID:rDiaexLE0
エスケープ処理のために$clean[$key] = htmlspecialchars( $value, ENT_QUOTES);でしてるんだけど
<や>が変換されないでそのまま表示されちゃってるんだけどちゃんと変換できてないの?それとも書き方が悪い?誰か教えて
0195デフォルトの名無しさん (ワッチョイ 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>;
これで
0198デフォルトの名無しさん (ワッチョイ 6f8c-B7Il)
垢版 |
2019/03/19(火) 23:59:06.58ID:rDiaexLE0
>>194
でもサニタイズしたはずなのにphpでフォームにJavascriptの$valueの中身入れるて飛ぶとYahooに飛んじゃってるんだよなIEで確認したから間違いないけど
0201デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 18:33:53.86ID:DvYG4dOj0
PHPやたったことないんだけど、どういう風に起動してるのか俺に簡単に説明してくれない?

cgi(まあperlとしよう)だと、ブラウザがhttpdにリクエストして、cgi(perl)を起動する。
httpdは標準出力(まあたぶんhtml)を受け取り、それを必要なら加工/整形(主にヘッダー) してブラウザに出力する。

phpはどこで誰からリクエストを受けてどうやって動いて、誰に何を出力してんの?
そしてcgiとは何が違うの?
とりあえず、cgi(perl)と違うのは、常駐して起動してるから速いんだよ、ってのは聞いたけど、それ以上は分からない。

そのへんを分かりやすく俺に教えてやってくれ
お願いします
0202デフォルトの名無しさん (ワッチョイ 8f02-MWYG)
垢版 |
2019/03/20(水) 20:16:45.35ID:G66GdUMN0
phpはcgiモードとmoduleモードがあって
cgiは呼び出し式
moduleモードは常駐式
受け取ったデータの処理の流れは一般的なcgiと同じでhttpd経由
常駐だから早いのも確かにそうだけど、標準機能のみで色々できるから、機能を都度importしない事も速さの主因
まあそれはちょっとhttpdとの関連性からは離れている話ですね
0203デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 21:25:54.44ID:DvYG4dOj0
>>202
わかったありがとう!
cgiモードとmoduleモードの選択ってのは、どこで誰(どのプログラム)が判断して決めるの?
php自身がmoduleモードで動いていて、httpdがmoduleモードで動いてるphpに対してのアクセス方法を知っているってこと?
0204デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
垢版 |
2019/03/20(水) 21:57:05.35ID:RdYQnT9u0
.exe, .dll の違い。
例えば、sqlite3.exe, sqlite3.dll の違い

CGI は、.exe と同じ。
別プロセスを起動するから、その起動時間が掛かる

.dll は、そのプログラム(プロセス)内にライブラリを読み込むだけ。
別プロセスを起動していない
0205204 (ワッチョイ cf2c-Of+3)
垢版 |
2019/03/20(水) 22:02:24.68ID:RdYQnT9u0
Ruby, PHP, Perl などのCGI では、
httpd が別プロセスを起動して、結果を取得して、プロセスを終了させる

毎回この起動・終了に、時間が掛かるから、
起動しっ放しというモードもある
0206デフォルトの名無しさん (ワッチョイ cfda-h1+v)
垢版 |
2019/03/20(水) 22:07:48.21ID:DvYG4dOj0
>>204
かなり分かった!
httpdが自分のプロセスにdllを取り込むってことかな?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況