トップページ > プログラム > 2016年07月15日 > dm6z3Cfz

書き込み順位&時間帯一覧

1 位/169 ID中時間01234567891011121314151617181920212223Total
書き込み数0202010000000100000000006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net

書き込みレス一覧

【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
793 :デフォルトの名無しさん[sage]:2016/07/15(金) 01:01:39.09 ID:dm6z3Cfz
>>786の件ですが
バッファが少ないだけあってブラウザでダウンロードした時よりも1.7倍くらい遅いです
これがPHPの限界なのでしょうか?
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
795 :デフォルトの名無しさん[sage]:2016/07/15(金) 01:19:57.34 ID:dm6z3Cfz
fread a lot slower for downloads than readfile
http://stackoverflow.com/questions/14664409/fread-a-lot-slower-for-downloads-than-readfile

やはりfreadは遅いようですね
stream_get_contents()を使えばいいようです
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
796 :デフォルトの名無しさん[sage]:2016/07/15(金) 03:26:53.39 ID:dm6z3Cfz
URLの中に日本語が含まれていても
ブラウザは適切にURLエンコードしてからサーバにアクセスしますが
これと同じ処理をPHPでやるにはどうすればいいですか?
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
799 :デフォルトの名無しさん[sage]:2016/07/15(金) 03:57:05.53 ID:dm6z3Cfz
>>797
ありがとうございます
それはそうなのですが、URL全体にurlencodeをかけると
不必要なところまでURLエンコードしてしまいますね
URLエンコードする必要のある部分だけを抜き出して
urlencodeをかける、というのがややこしいです
今考えていたのはpreg_splitで一文字ごとに切断してバイト数で判断するという方法です
マルチバイトにマッチする正規表現が良く分からないので・・
分かる人いますか?
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
801 :デフォルトの名無しさん[sage]:2016/07/15(金) 05:17:56.64 ID:dm6z3Cfz
たとえば「/」なんかもエンコードされますね?

結局
foreach (preg_split('//u',$url) as $str){
$result .= strlen($str) >1 ? urlencode($str) : $str;
}

みたいな感じにしました
ループが多くなりすぎるのが気になったのですが、
正規表現使うよりシンプルでもあるのでいいかと。
もっといい方法ありますか?
【PHP】下らねぇ質問はここに書き込みやがれ 6 [無断転載禁止]©2ch.net
810 :デフォルトの名無しさん[sage]:2016/07/15(金) 13:42:50.20 ID:dm6z3Cfz
>>802
一度エンコードしてから戻す方法ですか
予想外のアプローチです
この方がすっきりしてるかもしれませんね
ありがとうございます


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。