1 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:41:22.79 ID:ko4BTSP20.net] PHPに関する下らない質問用避難スレです。 まず読むこと【PHPマニュアル】 www.php.net/manual/ja/ 前スレ 【PHP】下らねぇ質問はここに書き込みやがれ 7 echo.2ch.net/test/read.cgi/tech/1478657006/ 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
152 名前:デフォルトの名無しさん [2017/04/27(木) 21:37:03.43 ID:rGgHpPcN0.net] php7 に uuidライブラリを導入したのですが、sudoでしか受け付けてくれません インストールはpecl install uuidで入れたのですが、root以外はじかれて、ページ上では500エラーとなります なにか間違っているんでしょうか?
153 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 22:22:51.23 ID:GJNrvvrA0.net] 特定のアプリを使える、group を追加すれば?
154 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 22:28:40.20 ID://GaaF5M0.net] >>149 メンテナンスされてないエクステンション使うよりメンテナンスされてるライブラリ使った方がいいよ https://github.com/ramsey/uuid
155 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 09:36:48.80 ID:gwV/3/wJ0.net] root使えないならcomposerで導入できるライブラリ探せ >>151 でまず問題ないはず
156 名前:デフォルトの名無しさん [2017/04/30(日) 11:15:07.30 ID:pYQ+I2xN0.net] PHP5でアンケートページを作りました。 「アンケート入力」の画面で送信ボタンをおしてページ移動を しています。パソコンとマックのブラウザからはちゃんと 動作している(アンケート画面が移動する+MySQLにも書き込みが されている)のですが、iPhoneのLINEからアクセスするとエラーが 出てしまいます。AndroidのLINEではエラーがでません。 iPhoneを持ってないので確認が難しいです。 googleで検索してもアプリ内ブラウザの違いのようなのですが、 具体的に何が原因なのかわかりません。 なにか注意点とかiPhoneのLINEだとこれはダメだなどありましたら 教えて頂けないでしょうか。よろしくお願いします。
157 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 11:40:09.81 ID:nYTyUlyB0.net] せめてエラーログの内容くらい書いてほしい iPhoneの場合は純粋のブラウザ(safari)でアクセスするのと、 アプリ内ブラウザで立ち上がるブラウザ(webview)が違う 例えばwebviewの場合はcookieを保存しないなど、ちょっと挙動が違うところもある てか、開発するのにiPhoneの実機ないとはさすがにだめじゃね?
158 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 11:42:39.41 ID:nYTyUlyB0.net] ちょっと雑に書いてしまったが、 cookieの件はアプリを終了すると消すという意味だから、 一時的に使うだけなら問題ないはず
159 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 20:08:49.82 ID:MlwtpNm00.net] foreachで最後の一つ前にifを使いたいんだけど 何かいい方法ない?
160 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 23:16:53.77 ID:MlwtpNm00.net] ないっぽいのでforでやります。 ありがとうございました。
161 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:08:30.95 ID:6B+jWue50.net] webアプリケーションフレームワークのスレはこの板ではなく別の板でしょうか
162 名前:デフォルトの名無しさん [2017/05/06(土) 23:02:40.18 ID:6iamBiJv0.net] 【OS名】Win7-Pro 【PHPのバージョン】5.6.28 (XAMPP v.3.2.2) 【連携ソフトウェア】ブラウザはFirefoxかChrome 【質問内容】 JavaScriptでPHPを起動し、これに処理をさせ返ってきた値を受け取りたいです。 参考にしたのは wpcos.com/?p=13945 上のHPのJSとPHPのコードを丸コピーして Chrome57.0で実行させたところ下記のようになり 原因が分かりません。 PHPに問題があるようなのでこのスレで聞きました。 uproda11.2ch-library.com/e/e00202800-1494078713.png ※XAMPPのApacheは起動済みです ※JSとPHPのファイルはUTF-8で保存済み ※Firefox53.0だと「XML パースエラー: 要素が見つかりません。」が出ます 何かヒントを下さい
163 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:14:04.15 ID:aphLh83O0.net] >>159 Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. って思いっきり書いてあるんだけど?
164 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:15:36.45 ID:b0MPlxsl0.net] 127.0.0.1/_tests/test.html みたいにアクセスしないと
165 名前:159 mailto:sage [2017/05/06(土) 23:46:38.71 ID:6iamBiJv0.net] レス有難うございます >>160 「Cross origin requests are only supported for protocol schemes」自体で調べたところ、 『どうやらChromeではローカルでAjaxは使えない様です』 とのことなのですがFirefoxでも 上記の通りエラーになります。 結局、サーバー上でやった方が早いのでしょうか? >>161 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、 綴りを確認して再度お試し下さい。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 404 と出ます
166 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:49:54.73 ID:aphLh83O0.net] >>162 何故JavaScriptもPHPも分からないのに同時にやろうとするのか サーバを介さずにリクエストして, 一体誰がPHPを実行すると考えている?
167 名前:159 mailto:sage [2017/05/07(日) 00:09:32.23 ID:oPGKh2U00.net] >>163 サーバーにUpしたらFirefoxとChrome共にOKでした。 お手数をおかけしました。
168 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:11:18.55 ID:RBu7YsoC0.net] >※XAMPPのApacheは起動済みです 起動しているなら、ブラウザでhtmlが表示できるんでしょ? そこに置いてみた?
169 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:17:01.17 ID:mGKAifTM0.net] Apacheなんて難し過ぎてきちんと分かってるとは到底思えない XAMPP使うよりまずはPHPのビルトインサーバで勉強した方がいい
170 名前:159 mailto:sage [2017/05/07(日) 00:27:20.61 ID:oPGKh2U00.net] >>165 はい。 普段使ってるlocalhostのphp置き場にhtmlとtest.phpを置いています。 htmlの起動はOKですが、ボタンを押すとエラーになります。 >>166 8年位前にやってたときはPHPを単独でインストールしてコマンドプロンプトで やっていたのですが、PCを変えたときXAMPPなるものを試してみたかったので
171 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:50:33.47 ID:RBu7YsoC0.net] >>167 uproda11.2ch-library.com/e/e00202800-1494078713.png ここのエラー表示を見ると、 C:/xampp/htdocs/ tests/test.php となっているけど、 htdocs の中にあるフォルダ testsって、 先頭に空白文字があるの?何か変だよね?
172 名前:159 mailto:sage [2017/05/07(日) 01:08:20.14 ID:oPGKh2U00.net] >>168 半角アンダーバーが入っています
173 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 01:30:39.86 ID:RBu7YsoC0.net] test.htmlってブラウザからどのようにリクエストしてます? localhost/_tests/test.html ですか? もしもそうなら、javascriptのこの部分、 $.get('test.php', を 同じようにフルパス指定にしてみたらどうかな?
174 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 01:50:04.63 ID:mGKAifTM0.net] XAMPPのApacheを止めてそのファイルがあるディレクトリで $ php -S localhost:8080 とでもしてビルトインサーバを起動して localhost:8080/test.html にアクセスした方が早い
175 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:58:17.79 ID:edBtKeoY0.net] jQueryは、こういう感じに書く // 先に全体の設定 $.ajaxSetup({ data: {format: 'xml'}, timeout: 60 * 1000 }); $.ajax( 絶対パス ) .done(function( data, textStatus, jqXHR ) { console.log('statusCode = ' + jqXHR.status, ' : ' + textStatus ); }) .fail(function( jqXHR, textStatus, errorThrown ) { console.log('statusCode = ' + jqXHR.status, ' : ' + textStatus ); });
176 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 03:09:40.34 ID:edBtKeoY0.net] CORS(Cross-Origin Resource Sharing)制限 ブラウザでAjax通信を行う際には、同一生成元ポリシー(Same Origin Policy)によって、 Webページを生成したドメイン以外へのHTTPリクエストができないので、 ajax通信のJSONP を使って、出来るようにしている 他にも、ブラウザの制限は厳しくて、 iframe内に、他のドメインのページを読み込んでも、 親側のHTMLからは、それにアクセスできない
177 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:31:13.16 ID:FH3wsgTg0.net] JavaScriptはどれぐらい理解してるの? 山登り始めた人がいきなり冬の北アルプス登ろうとしてる感じに見える
178 名前:159 mailto:sage [2017/05/07(日) 18:30:42.76 ID:oPGKh2U00.net] 色々有難うございます。 >>170-171 171さんの方法で試してみます。 >>172 これは code.jquery.com/jquery-1.11.0.min.js とかのjQueryを改造する場合の ことでしょうか? >>174 JavaScript自体は合計5年くらいの経験があり、たぶん100〜200位のコードを書きましたが その殆どがローカルで動くもので、また数理的な図形描画や可視化のようなものです。 例:分子構造のデータを読み込んでSVGライブラリ(Raphaelとか)で3Dベクター描画 とか PHPも実務経験はありますが、8年くらい前にやったきりで今年になってようやく再度必要性が 生じて、昔の本やコードを引きずり出して再勉強しています。 平たく書くとローカル動作主体でWebやネットワークには弱いです。
179 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:44:21.97 ID:FH3wsgTg0.net] まずはPHPとJavaScript別々に勉強を進めてはどうか 特にJavaScriptの通信は非同期処理になるので、 しっかり勉強しないと何をしてるか意味が分からないと思う Cross origin requestのエラーであたふたするレベルだとちと厳しい まずはJavaScriptかまさないPHPだけのをしっかり学んでからで良いと思います
180 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:46:20.00 ID:FH3wsgTg0.net] あと、本で学ぶなら最新のを買ってきた方がいい PHPもJavaScriptも8年前からかなり進化してる 実務で使うならなおさら最新のを学んだ方がいい
181 名前:159 mailto:sage [2017/05/07(日) 18:55:36.55 ID:oPGKh2U00.net] >>176-177 有難うございます。 確かにそうですが、業務上JavaScriptとPHPの連携(連動)が 必要な案件を取りたいので基礎でも良いのでこの連動を実現したかったです。 実際の製品にするにはこの分野に強い業者と組むことになりますが、営業で回る前に 「これくらいは自分でやっとかないとアカンだろうなあ」と思いました。 本も「最新の知識以前に基礎が大事」という発想と、過去のコードをベースにして再勉強 したかったので買っていませんでした。 後で本屋を見てみます。
182 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:05:10.10 ID:FH3wsgTg0.net] なるほど、立派な営業さんですね 自社製品なのに何も知らんで営業やってるやつがゴロゴロいるからねぇ 連携する部分はあるにせよ、一気に学ぼうとせずに、 ひとつひとつ学んでいく方が近道かと思いますので頑張ってください
183 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:12:17.90 ID:BH039lXF0.net] 画像にハッシュタグを付け、それに「何かしら識別コード」を関連付けて保存する。 それらを比較することで近しい画像を検索するというようなことがしたい。 この「何かしら識別コード」はなにかいいモノはないでしょうか?
184 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:53:43.65 ID:YbUbsdG8M.net] 「近しい画像」って何をどう比較して近しいとするの? それが分からんと何ともアドバイスしにくい気がするけど
185 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 00:17:33.36 ID:e9qNdiMD0.net] SimPixという同一、類似画像を探して、整理を補助するフリーソフトがあるんだけど これみたいに使いたいのだがどういう原理で比較してるのかわからないのです。
186 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 02:11:52.13 ID:WXUx4WWm0.net] コレとか ttps://github.com/jenssegers/imagehash
187 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 17:29:24.75 ID:e9qNdiMD0.net] ありがとうございます。 こういうのを探していました。 早速使ってみます。
188 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 18:08:55.09 ID:04P2BCNBH.net] ペチパー(PHPer)って馬鹿にする文脈でしか見たことなかったが、今ではペチパーが普通なのか? wordpress.ideacompo.com/?p=8594
189 名前:159 mailto:sage [2017/05/08(月) 19:38:22.33 ID:DHydgTad0.net] 題:JavaScriptでPHPを起動し、これに処理をさせ返ってきた値を受け取りたい >>171 を試そうと C:\xampp\htdocs\_tests>$ php -S localhost:8080 としたところ下記が出ました '$' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 単にcdでディレクトリ移動して $ php -S localhost:8080 ではダメなのですか?
190 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 19:44:45.81 ID:LksAbi0u0.net] windowsとlinuxの違いもわからんのかえ
191 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 20:09:49.73 ID:93uC34hXM.net] Windows環境で試すならWindows環境で書いてる本買ってきて勉強した方が良いと思うよ そこで躓くレベルだと手取り足取り教えてもらわんと進まないと思う
192 名前:171 mailto:sage [2017/05/08(月) 20:23:48.25 ID:67J5jWuHa.net] えぇ・・・
193 名前:159 mailto:sage [2017/05/08(月) 21:17:26.26 ID:DHydgTad0.net] >>187 159に明示していたのですが
194 名前:デフォルトの名無しさん [2017/05/08(月) 23:03:16.81 ID:GNYDAKwF0.net] >>190 $ はコマンド入力を示しているだけなので入れなくていいよ
195 名前:159 mailto:sage [2017/05/08(月) 23:12:59.99 ID:DHydgTad0.net] >>191 どうも。 やってみましたがダメでした。 C:\xampp\htdocs\_tests>php -S localhost:8080 'php' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
196 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:31:11.67 ID:9whwcEDU0.net] trim関数を文字列に適用する際は、事前に前後のいずれかに空白や改行文字があるかのチェックをした方がいいですか? とりあえず放り込んどいても問題ないですかね?
197 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:55:01.57 ID:pOsiqUbS0.net] >>192 C:\xampp\htdocs\_tests>php -S localhost:8080 この部分は、君が入力していないから、書かなくてよい C:\xampp\htdocs\_tests> php -S localhost:8080 環境変数PATHに、php の実行ファイル名を指定していないから、 php と言うコマンドが存在しない PowerShell を起動して、以下を入力してみ。 $env:Path.split(";") 環境変数PATHは、; で区切り 「環境変数 path 追加」で検索して
198 名前:デフォルトの名無しさん [2017/05/08(月) 23:58:02.04 ID:GNYDAKwF0.net] 環境変数に C:\xampp\php; を追加だね とりあえず動かしたいなら ..\..\php\php -S localhost:8080
199 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:59:39.10 ID:pOsiqUbS0.net] >>193 ここで聞く前に、やってみれば? $str = "あいう"; $str = trim ($str); echo $str;
200 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 00:04:20.24 ID:q6L/Mjxw0.net] >>196 見かけ上問題ないのと本当に問題ないのは違うと思いまして質問させていただいた次第です
201 名前:デフォルトの名無しさん [2017/05/09(火) 00:09:30.62 ID:DXl/dI3b0.net] 159ですがもう一つ質問があります。 【OS名】Win7-Pro 【PHPのバージョン】5.6.28 (XAMPP v.3.2.2) 【連携ソフトウェア】ブラウザはFirefoxかChrome 【質問内容】 JavaScriptでPHPを起動し、サーバー内の同一ディレクトリ内にある abc.txt (最初はカラ) に文字列を書き込みたい。 本を見てローカルでは上手くいったので、159のwpcos.com/?p=13945 のコードの下に $handle = fopen("abc.txt", "w"); flock($handle, LOCK_EX); fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む flock($handle, LOCK_UN); fclose($handle); を追加したのですが、abc.txt は何も変化しません。 どうしたら良いでしょうか? >>194-195 後で試してみます。 PowerShell って初めて聞きましたのでこっちも調べてみます
202 名前:198 mailto:sage [2017/05/09(火) 00:26:37.79 ID:DXl/dI3b0.net] 上記の「本を見てローカルでは上手くいったので」は 書き込みコード($handle〜fclose($handle); )限定の話です
203 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 00:54:54.81 ID:aLfyMh4W0.net] 先の質問は解決してんのか? してないんなら何やったって無駄
204 名前:デフォルトの名無しさん [2017/05/09(火) 01:00:42.46 ID:bmQioI1H0.net] >>197 しなくていいと思います
205 名前:198 mailto:sage [2017/05/09(火) 01:08:19.06 ID:DXl/dI3b0.net] >>200 はい、解決しています>>164 。 >>186 〜195は>>170-171 で提案して頂いた別案の検証です。
206 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 01:13:51.44 ID:aLfyMh4W0.net] >>202 ならとりあえずエラー(Warning等)出てないかチェック
207 名前:198 mailto:sage [2017/05/09(火) 01:33:02.97 ID:DXl/dI3b0.net] >>203 どうも。 下記のようにしたところ、 20 kakikomi と表示され、コード自体は実行されたようです。 ※20は解消済みの掛け算。 コンソールログには何も表示されません。 try { $handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く flock($handle, LOCK_EX);// abc.txtをロックする fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む flock($handle, LOCK_UN);// abc.txtのロックを解除する fclose($handle);// abc.txtを閉じる print " kakikomi"; } catch (Exception $e) { print " error"; }
208 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 01:37:20.86 ID:aLfyMh4W0.net] コード先頭でerror_reporting(E_ALL);
209 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 17:01:44.91 ID:oUHmrZCO0.net] >>204 その try catch に何を期待していたのか分からないが、 エラー処理は正確にね。
210 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 18:20:53.53 ID:D8dw9aKcH.net] >>204 abc.txtを全ディスクで検索してみたら? それか、fopen("C:\\abc.txt", "w")として、フルパスで指定するか。
211 名前:デフォルトの名無しさん [2017/05/09(火) 18:36:53.05 ID:me68cFh4M.net] 教えてください。 PDOでSQLからデータ取ってきてそのまま配列に入れたら、 Array ( [0] => Array ( [title1] => hoge [0] => hoge [title2] => fuga [1] => fuga [title3] => piyo [2] => piyo ) … てな感じで1つのRowに同じ値が2つな状態になるんですけど、 これ配列入れる前か後に、どっちか1つにできる方法ないですかね。 このあとforreachの処理に投げたんすけど、データがダブっておかしなことになったので…。 よろしくお願いします。
212 名前:デフォルトの名無しさん [2017/05/09(火) 18:50:53.71 ID:1JEWBzos0.net] >>208 ロードのオプションで、数字かキーか両方(指定なし)がえらべる
213 名前:198 mailto:sage [2017/05/09(火) 23:18:52.77 ID:DXl/dI3b0.net] 皆さん、有難うございます。 >>205 何も表示されませんでした >>206 すいません気を付けます print "例外キャッチ:", $e->getMessage(), "\n"; とかで書いておきます。 >>207 Cross origin requests でエラーが出たのでローカルでなくサーバー上でやっています。
214 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 00:26:12.62 ID:KrmbBI200.net] >>210 ini_set('display_errors', 1); も追加しとけ
215 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 00:37:08.48 ID:KrmbBI200.net] >>210 あと勘違いしているようだから言っておくと, fopenは例外を投げない というファイル操作関数は例外を投げない ファイル操作で例外処理をしたければSplFileObjectを使うかset_error_handlerでエラーハンドラを書き換える
216 名前:198 mailto:sage [2017/05/10(水) 01:14:47.13 ID:hTeNJ02Z0.net] >>211-212 有難うございます
217 名前:デフォルトの名無しさん [2017/05/10(水) 11:18:19.10 ID:fvTwvO+tM.net] >>209 公式に同じような配列の処理例がありますね…fetch使えばいいのか。 よく調べます、ありがとうございます。
218 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 12:07:27.61 ID:kZ1vOxdN0.net] ImageCreateFromJPEG($imgfile); $imgfileにjpg画像以外のpng画像やgif画像を入れるとエラーになるのはわかったのだけど pn
219 名前:g画像やgif画像をjpg画像に変換する方法がわかりません。 やり方が分かる人がいらっしゃいましたら教えてください。 [] [ここ壊れてます]
220 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 12:15:15.94 ID:kZ1vOxdN0.net] すいません。 できました。 imagecreatefromstring(file_get_contents($imgfile)); こうすればpng画像でもできるようです。 ありがとうございました。
221 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 14:02:06.75 ID:DOCc0Zf4H.net] >>210 > ローカルでなくサーバー上でやっています。 なら、そのサーバ上のディレクトリに対して書き込み不可なんじゃないの? やることその1: fopen()の戻り値$handleを調べて、成功しているかどうか確認する(falseなら失敗) やることその2: サーバのエラーログを見る
222 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 22:09:56.39 ID:auOc2utQM.net] とにかく不具合あればアクセスログ、エラーログを見ろ それで8割は原因分かる
223 名前:198 mailto:sage [2017/05/11(木) 00:26:19.85 ID:WqhQ6yh90.net] >>217-218 有難うございます。 昨日から体調が悪いので検証できません
224 名前:デフォルトの名無しさん [2017/05/11(木) 17:04:44.60 ID:jqKKP1Mj0.net] 【OS名】Windows 10 Home 【PHPのバージョン】5.6.30 【連携ソフトウェア】OpenWeatherMap(API) 【質問内容】 ryus.co.jp/blog/openweathermap/ を参考にして、ウェブサイトに東京都の天気情報を表示したいです。 ただ、OpenWeatherMapからの天気情報をJSON形式で取得すると方角の値が0〜360で返ってきます。 この値を方角に置き換えて風向きのテーブルに表示したいです。 まだ、PHPを始めたばかりでswitch分しかわからず、それを使用しています。 switch分を変数に代入したり、sprintf関数に組み込んでみたりと色々試しているのですが上手くできないです。 風向きのテーブルに方角を表示するためのアドバイスをください。 よろしくお願いします。 $url='api.openweathermap.org/data/2.5/weather?q=tokyo&units=metric&appid=******** '; $json=json_de
225 名前:code(file_get_contents($url),true); $format=' <tr><td>気温</td><td>%s°C</td></tr> <tr><td>風向</td><td>【ここに方角を表示したいです】</td></tr> <tr><td>風速</td><td>%sm/s</td></tr> <tr><td>湿度</td><td>%s%%</td></tr> '; echo sprintf($format,$json['main']['temp'],$json['wind']['speed'],$json['main']['humidity']); $degree=$json['wind']['deg']; switch($degree){ case $degree > 348.75 && $degree < 11.25: echo'北'; break; (同じような感じで方角が16分割されています) } [] [ここ壊れてます]
226 名前:デフォルトの名無しさん [2017/05/11(木) 17:06:00.89 ID:qQCmyvYW0.net] GPLのダウンロード方法教えて下さい。
227 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:33:13.49 ID:auiRJU69M.net] >>220 上手くできないって何が上手くできないのか? エラーログが出てるならエラーログの内容をそのまま書いてほしい エラーログが出ないなら、エラーログを出すようしにして、エラーログの内容を書いてほしい そうすれば答えてくれる人がいると思う
228 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 18:28:19.55 ID:g90U9udHa.net] array_reduceは常にインデックス通りの順番で動くことが保証されてますか? 例えば配列の全ての数字を引き算するときに使っても問題ありませんか?
229 名前:220 [2017/05/11(木) 18:35:43.44 ID:jqKKP1Mj0.net] >>222 エラーが出ないというか出せないというかうまく言葉で説明できないです。 申し訳ないです。 もう少し試行錯誤します。 ありがとうございました。
230 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 19:23:37.16 ID:SE/IN+7B0.net] >>220 $degree > 348.75 && $degree < 11.25: 348.75 より大きくて、かつ 11.25 よりも小さい数字ってあるかな?
231 名前:デフォルトの名無しさん [2017/05/11(木) 19:30:24.73 ID:5AwxqDXW0.net] jsonの中身を貼ればいいんじゃない?
232 名前:デフォルトの名無しさん [2017/05/11(木) 20:28:10.01 ID:bHhk+rd90.net] PHP5.6なのですが、php.iniのoutput_bufferingをOnにしないと CookieやSessionが使えなくなったのですが、関係あります? Cookieが使えない原因が分からず、output_bufferingをOnにしたら使えました ググっても関連があるようには思えないのですが、もしあるなら教えてください
233 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:50:12.91 ID:auiRJU69M.net] 関係あるよ php.net/manual/ja/function.setcookie.php バッファオフにした場合は 出力した後にsetcookieしたらダメ
234 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:53:36.93 ID:bHhk+rd90.net] >>228 マニュアルに書いてましたか・・・ 勉強不足でした。ありがとうございました
235 名前:デフォルトの名無しさん [2017/05/13(土) 14:56:11.69 ID:DB8bCe2a0.net] みなさん、画像ファイルのアップロード先フォルダはどのようにしていますか? 単純に/uploadsみたいなところに入れますか? それともWordpressみたいに /uploads/2017/05というように日付でフォルダ分けして管理しますか?
236 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 15:15:34.69 ID:EKwOhdT+0.net] 状況に応じて変わるとしか言えん どういう使い方するか考えればおのずと決まるはず
237 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 16:37:08.01 ID:DB8bCe2a0.net] 確かにそうなんですが、 ある程度のスタンダードな考え方・分け方は知りたいと思いまして。 他のサイトを調べると日付で分けることが多いみたいなんで、 大量に画像をアップロードする可能性があるなら、そうしてたほうが無難なんですかねぇ
238 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 19:20:12.73 ID:bYeLo1gSa.net] imageフォルダでいいじゃん。
239 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 00:06:32.69 ID:TcVKQbFq0.net] >>230 何故フォルダに分けてるのかは、お前は分かっていないということだな? 231、233も含めて
240 名前:デフォルトの名無しさん [2017/05/15(月) 11:21:27.48 ID:1833Pji90.net] Configure::read() という書き方って専門用語でなんて言うのでしたっけ? PHPのバージョンによってもこの書き方が使える場合とエラーになる場合があり、 それを調べようと思ったのですが、用語をど忘れしてしまいました
241 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 11:48:48.70 ID:1833Pji90.net] 疑似変数ですかね。 色々と質問させていただきましたが、 マニュアルを見逃すことが多いので、注意したいと思います。
242 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 12:28:14.73 ID:Nyf5aX+Ca.net] スコープ定義演算子
243 名前:198 mailto:sage [2017/05/15(月) 17:52:15.38 ID:dvw/ajfi0.net] (続き)今日はシフトの非番なのでやってみました ------------------ >>211 の ini_set('display_errors', 1); は failed to open stream: Permission denied in ・・・ test01.php となりました。 ※長々と文章が続きますのでここだけ抜粋 ------------------ >>212 例外処理でSplFileObjectを使ってみました。 try { $obj = new SplFileObject("abc.txt", "w"); } catch (Exception $e) { //エラー処理 echo $e->getMessage(); } これだと 500 (Internal Server Error) が出ます。 set_error_handler は未だです ------------------ >>217 の「fopen()の戻り値$handleを調べて」で $handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く print $handle; をやってみましたが、何も表示されません。 ------------------ 現時点での結論は「原因が全く分からない」です。
244 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:17:58.64 ID:Jjv98UEoH.net] >>238 > >>217 の「fopen()の戻り値$handleを調べて」で > $handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く > print $handle; > をやってみましたが、何も表示されません。 > > ------------------ > 現時点での結論は「原因が全く分からない」です。 いやいや、何も表示されないというのは、fopen()が失敗してるってことだよ。 falseをprintしても何も表示されないから。 成功してたら、"Resouce id #5"みたいに表示されるはずだから。
245 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:24:42.83 ID:Jjv98UEoH.net] つか、 >>238 > >>211 の ini_set('display_errors', 1); は > failed to open stream: Permission denied in ・・・ test01.php > となりました。 ※長々と文章が続きますのでここだけ抜粋 エラーの原因出力されてるじゃん・・・
246 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 19:55:48.98 ID:Vb5ZKsqrM.net] とにかくエラーログがてるところまで何とかしろ そこにたどり着く前に色々やっても何も分からんだけ 先に進まず、まずはここだけやれ そしてエラーログが出るようになったら必ずログを確認しろ 500エラーなら必ず理由がログに出る
247 名前:211 mailto:sage [2017/05/15(月) 20:17:22.18 ID:nSGL9egfa.net] >>238 せめてさ, エラーメッセージでググるくらいのことはしてくれよ
248 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 21:04:15.00 ID:fnDHHxZB0.net] ローカルで使用する時に別ドライブから画像参照したい htmlだと <img src="file:///I:/img/0000.jpg"> こう書けば別ドライブから画像を参照して表示できるのだけど PHPではこう書いてもできない。 どうすればいいでしょうか?
249 名前:211 mailto:sage [2017/05/15(月) 21:15:35.34 ID:nSGL9egfa.net] >>243 php.net/manual/wrappers.file.php
250 名前:198 mailto:sage [2017/05/15(月) 22:19:38.89 ID:dvw/ajfi0.net] >>239-242 FFFTPでサーバー上の目的テキストのパーミッションを開き、権限者「その他」で「書き込み」 にチェックマークを入れたところ、print $handle; は Resource id #3 が出ました。 ※Chromeで実行しましたがエラーは出ていません 文字化けしていますが曲りなりに成功しました。 有難うございます。
251 名前:198 mailto:sage [2017/05/15(月) 22:44:25.11 ID:dvw/ajfi0.net] (追記) 文字化けは、目的テキストの文字コードを UTF-8 にするため $str = "テスト文章です"; $str = mb_convert_encoding($str, "UTF-8", "EUC-JP"); でOKでした。 何故か "EUC-JP" でなくファイルの元コード "sjis" や "Shift_JIS" から 変換すると文字化けのままです。
252 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 00:20:46.81 ID:P5MMw6+60.net] >>244 お返事ありがとうございます。 ローカルだとうまくいきませんでした。 何か別の方法を考えてみます。