タグ付けされた質問 「php」

PHPは、主にサーバー側のWeb開発用に設計された、広く使用されている、高レベルで動的なオブジェクト指向の解釈されたスクリプト言語です。PHP言語に関する質問に使用されます。


11
1つのcatchブロックで複数の例外タイプをキャッチする
私はキャッチに、以下の機能を取得するためにクリーンな方法を希望AErrorし、BError1つのブロックに: try { /* something */ } catch( AError, BError $e ) { handler1( $e ) } catch( Exception $e ) { handler2( $e ) } これを行う方法はありますか?それとも別々にキャッチする必要がありますか? AErrorそして、Berror共有ベースクラスを持っていますが、私はにフォールスルーしたいことを、彼らはまた、他のタイプとそれを共有しhandler2、私はちょうど基本クラスをキャッチすることはできませんので、。

15
ブールを文字列に変換する方法
文字列に変換したいブール変数があります: $res = true; 変換された値は次の形式である必要があります:"true" "false"ではなく"0" "1" $converted_res = "true"; $converted_res = "false"; 私はもう試した: $converted_res = string($res); $converted_res = String($res); しかし、それは、と言われますstringし、String機能が認識されません。 このブール値をPHP 形式"true"または"false"PHP 形式の文字列に変換するにはどうすればよいですか?
242 php  string 

23
高負荷サイトでPHPを使用するための戦術
これに答える前に、高いサーバー負荷を達成するのに十分人気のあるものを開発したことはありません。PHPといくつかの最適化技術を知っているものの、惑星に着陸したばかりのエイリアン(ため息)として私を扱います。 私はそれが正しく機能すれば、かなり多くのユーザーを獲得できるツールをPHPで開発しています。しかし、プログラムを開発する能力は十分にありますが、大量のトラフィックを処理できるものを作ることに関しては、ほとんど無知です。そこで、ここにいくつかの質問があります(この質問をリソーススレッドに変えてもかまいません)。 データベース 現時点では、PHP5でMySQLi機能を使用する予定です。しかし、ユーザーとコンテンツに関連してデータベースをどのようにセットアップすればよいですか?実際に複数のデータベースが必要ですか?現時点ではすべてが1つのデータベースに乱れています。ユーザーデータを1つのデータベースに、実際のコンテンツを別のデータベースに、最後にコアサイトコンテンツ(テンプレートマスターなど)を別のデータベースに分散することを検討してきました。これの背後にある私の推論は、1つのデータベース= 3つのロードソースとして、異なるデータベースにクエリを送信すると、それらの負荷を軽減することです。また、すべてが同じサーバー上にある場合でも、これは有効ですか? キャッシング ページの作成と変数の交換に使用するテンプレートシステムがあります。マスターテンプレートはデータベースに保存され、テンプレートが呼び出されるたびに、そのキャッシュコピー(htmlドキュメント)が呼び出されます。現在、これらのテンプレートには2つのタイプの変数があります。静的変数と動的変数です。静的変数は通常、ページ名、サイトの名前など、頻繁に変更されないものです。動的変数は、ページが読み込まれるたびに変化するものです。 これに関する私の質問: 別の記事についてコメントがあるとします。これがより良い解決策です:ページが読み込まれるたびにシンプルなコメントテンプレートを保存し、(DB呼び出しから)コメントをレンダリングするか、コメントページのキャッシュされたコピーをHTMLページとして保存します-コメントが追加/編集/削除されるたびにページが再キャッシュされます。 最後に PHPで高負荷のサイトを実行するためのヒント/ポインタはありますか?私はそれが使える実用的な言語だと確信しています-FacebookとYahoo! 優先順位を高くしますが、気を付けるべき経験はありますか?

14
Laravel-EloquentまたはFluentのランダムな行
LaravelフレームワークでEloquentまたはFluentを使用してランダムな行を選択するにはどうすればよいですか? SQLを使用すると、RAND()で順序を指定できることがわかります。ただし、最初のクエリの前にレコード数を数えずにランダムな行を取得したいと思います。 何か案は?
242 php  fluent  laravel  eloquent 


13
POSTデータを使用したPHPリダイレクト
私はこのトピックについていくつかの調査を行い、それは不可能であると言っている専門家が何人かいるので、別の解決策を求めたいと思います。 私の状況: ページA:[checkout.php]お客様が請求の詳細を入力します。 ページB:[process.php]請求書番号を生成し、データベースに顧客の詳細を保存します。 ページC:[thirdparty.com] 3番目の支払いゲートウェイ(投稿データのみを受け入れる)。 顧客は詳細を入力してカートをページAに設定し、次にページBにPOSTします。process.php内で、POSTされたデータをデータベース内に保存し、請求書番号を生成します。その後、顧客データと請求書番号をthirdparty.com支払いゲートウェイにPOSTします。問題はページBでPOSTを実行しています。cURLはページCにデータをPOSTできますが、問題はページがページCにリダイレクトされなかったことです。お客様はページCでクレジットカードの詳細を入力する必要があります。 サードパーティの支払いゲートウェイからAPIサンプルが提供されました。サンプルは、請求書番号と顧客詳細をPOSTしたものです。システムで不要な請求書番号が過剰に生成されることは望ましくありません。 これに対する解決策はありますか?私たちの現在のソリューションは、お客様がページAに詳細を入力することです。次に、ページBに別のページを作成し、そこにすべてのお客様の詳細を表示します。ユーザーは[確認]ボタンをクリックしてページCにPOSTできます。 私たちの目標は、お客様が一度だけクリックする必要があることです。 私の質問が明確であることを願っています:)
241 php  post 

10
PHPで選択ボックスの複数の選択された値を取得するにはどうすればよいですか?
複数のプロパティが複数に設定されているため、複数の値を選択できる選択リストボックスがあるhtmlフォームがあります。フォームメソッドが「GET」であると考えてください。フォームのHTMLコードは次のとおりです。 <html> <head> <title>Untitled Document</title> </head> <body> <form id="form1" name="form1" method="get" action="display.php"> <table width="300" border="1"> <tr> <td><label>Multiple Selection </label> </td> <td><select name="select2" size="3" multiple="multiple" tabindex="1"> <option value="11">eleven</option> <option value="12">twelve</option> <option value="13">thirette</option> <option value="14">fourteen</option> <option value="15">fifteen</option> <option value="16">sixteen</option> <option value="17">seventeen</option> <option value="18">eighteen</option> <option value="19">nineteen</option> <option value="20">twenty</option> </select> </td> </tr> <tr> <td> </td> <td><input …

30
Laravel 5 – URLからパブリックを削除
これは非常に人気のある質問ですが、Laravel 5の実用的な解決策を見つけることができませんでした。私は長い間、Codeigniterからの移行を試みてきましたが、この複雑なインストールプロセスは、私を先延ばしにし続けます。 VMを実行したくありません。これは、プロジェクトを切り替えるときにぎこちないと思われます。 ドキュメントルートをパブリックフォルダに設定したくありません。これは、プロジェクトを切り替えるときにも厄介です。 .htaccess mod_rewriteメソッドを試しました <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule> これにより、compiled.php行7610にLaravel NotFoundHttpExceptionが表示されます。 先ほどL4を試してみたところ、パブリックフォルダーの内容をルートに移動する方法を使いました。L5の構造はまったく異なり、同じ手順を実行すると、Laravelが完全に壊れました(サーバーは空白のページのみを返します)。 次のような開発環境で「パブリック」を削除する適切な方法はありますか? L5で動作 プロジェクトを簡単に切り替えることができます(私は通常、いつでも2または3で作業しています)。 ありがとう ** MAMPとPHP 5.6.2を使用しています




29
PHPでタイムスタンプを前の時間に変換します。たとえば、1日前、2日前…
この投稿を改善したいですか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 私はフォーマットのタイムスタンプを変換して、PHPの2009-09-12 20:57:19ようなものに変換しようとし3 minutes agoています。 これを行うのに役立つスクリプトを見つけましたが、時間変数として使用する別の形式を探していると思います。この形式で動作するように変更したいスクリプトは次のとおりです。 function _ago($tm,$rcs = 0) { $cur_tm = time(); $dif = $cur_tm-$tm; $pds = array('second','minute','hour','day','week','month','year','decade'); $lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600); for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]); $no = floor($no); if($no <> 1) $pds[$v] .='s'; $x …
234 php  timestamp 

11
jQuery $ .ajaxエラー応答テキストを取得するにはどうすればよいですか?
エラー応答をjQueryに送信しています。ただし、応答テキストを取得できません(以下の例では、これはビーチに行ってしまいます) jQueryが言う唯一のことは「エラー」です。 詳細については、この例を参照してください。 php <? header('HTTP/1.1 500 Internal Server Error'); print "Gone to the beach" ?> jQuery $.ajax({ type: "post", data: {id: 0}, cache: false, url: "doIt.php", dataType: "text", error: function (request, error) { console.log(arguments); alert(" Can't do because: " + error); }, success: function () { alert(" Done ! …

15
Laravelのファイル権限を設定するにはどうすればよいですか?
所有者がに設定されているApache Webサーバーを使用しています_www:_www。新しいLaravel 5プロジェクトを作成するときなど、ファイルのアクセス許可のベストプラクティスは何なのかわかりません。 Laravel 5では、/storageフォルダーが書き込み可能である必要があります。私はそれを機能させるために多くの異なるアプローチを見つけました、そして私は通常それを777再帰的にchmodにすることで終わります。私はそれが最善の考えではないことを知っています。 公式のドキュメントは言う: Laravelでは、いくつかの権限を構成する必要がある場合があります。その中にフォルダーが storageありvendor、Webサーバーによる書き込みアクセスが必要です。 それは、Webサーバーがstorageとvendorフォルダー自体または現在のコンテンツだけにアクセスする必要があるということですか? 私ははるかに良いことは、権限の代わりに所有者を変更することだと思います。Laravelのすべてのファイル権限を再帰的_www:_wwwに変更し、chmodをに変更したかのように、サイトを正しく機能させました777。問題は、ファイルを保存するたびにテキストエディターからパスワードを要求されることです。ファイルをコピーするなど、Finderで何かを変更しようとすると、同じことが起こります。 これらの問題を解決するための正しいアプローチは何ですか? 変化する chmod ファイルの所有者をWebサーバーの所有者と一致するように変更し、おそらくテキストエディター(およびFinder?)を設定して、パスワードの要求をスキップするか、ファイルを使用させます。 sudo osユーザーと一致するようにWebサーバーの所有者を変更します(結果はわかりません) 他の何か

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.