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

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

26
PHP文字列の文字からアクセントを削除するにはどうすればよいですか?
URLで文字列を使用できるようにするための最初のステップとして、PHP文字列の文字からアクセントを削除しようとしています。 次のコードを使用しています。 $input = "Fóø Bår"; setlocale(LC_ALL, "en_US.utf8"); $output = iconv("utf-8", "ascii//TRANSLIT", $input); print($output); 私が期待する出力は次のようなものになります: F'oo Bar ただし、アクセント付き文字が音訳されるのではなく、疑問符に置き換えられます。 F?? B?r 私がオンラインで見つけることができるすべては、ロケールを設定することでこの問題が解決されることを示していますが、私はすでにこれを行っています。私はすでに次の詳細を確認しました: 私が設定しているロケールはサーバーによってサポートされています(によって生成されたリストに含まれていますlocale -a) ソースとターゲットのエンコーディング(UTF-8およびASCII)は(によって生成されるリストに含まれてのiconvのサーバのバージョンでサポートされていますiconv -l) 入力文字列はUTF-8でエンコードされています(mercatormb_check_encodingの回答で示唆されているように、PHPの関数を使用して検証されます) への呼び出しsetlocaleは成功しました(では'en_US.utf8'なく戻りますFALSE) 問題の原因: サーバーがiconvの間違った実装を使用しています。必要なlibiconvバージョンの代わりにglibcバージョンがあります。 一部のシステムでは、iconv関数が期待どおりに機能しない場合があることに注意してください。そのような場合は、GNU libiconvライブラリをインストールすることをお勧めします。ほとんどの場合、より一貫した結果が得られます。 – iconvへのPHPマニュアルの紹介 PHPで使用されるiconv実装の詳細は、phpinfo関数の出力に含まれています。 (このプロジェクトで使用しているサーバーで正しいiconvライブラリを使用してPHPを再コンパイルできないため、以下で受け入れた答えは、iconvをサポートせずにアクセントを削除するのに最も有効なものです。)
91 php  iconv 

10
.tplファイルとは?PHP、ウェブデザイン
PHP(VideoCMS)で実行されるサイトを再設計してほしいと思っている男性がいます。しかし、私に彼にソースを送るように頼んだとき、彼は* .phpの代わりに* .tplファイルを私に与えました。それらの中にいくつかのコードがあります: {include file='header.tpl' p="article"} <br /> <table width="886" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <div id="reg_box"> <h3 class="captions">{$lang.articles}</h3> <div id="list_cats"> <ul> {$article_categories} </ul> </div> </div> <br /> <div id="reg_box"> <h3 class="captions">{$lang.members}</h3> {if $logged_in == '1'} {include file='loggedin_body.tpl'} {else} {include file='login_body.tpl'} {/if} または {include file='header.tpl' p="index"} {php} $_SESSION['isFair'] …
91 php  html  smarty 

3
ふぐで長いパスワード(> 72文字)をハッシュする方法
先週私はパスワードハッシュに関する記事をたくさん読みましたが、Blowfishは現時点で最高のハッシュアルゴリズム(の1つ)のようですが、それはこの質問のトピックではありません。 72文字の制限 Blowfishは、入力されたパスワードの最初の72文字のみを考慮します。 <?php $password = "Wow. This is a super secret and super, super long password. Let's add some special ch4r4ct3rs a#d everything is fine :)"; $hash = password_hash($password, PASSWORD_BCRYPT); var_dump($password); $input = substr($password, 0, 72); var_dump($input); var_dump(password_verify($input, $hash)); ?> 出力は次のとおりです。 string(119) "Wow. This is a super secret and …

7
HTMLとPHPを一緒にコメント化する
私はこのコードを持っています、 <tr> <td><?php echo $entry_keyword; ?></td> <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td> </tr> <tr> <td><?php echo $entry_sort_order; ?></td> <td><input name="sort_order" value="<?php echo $sort_order; ?>" size="1" /></td> </tr> 両方を一度にコメントしたいのですが… <!-- <tr> <td><?php echo $entry_keyword; ?></td> <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td> </tr> <tr> <td><?php echo $entry_sort_order; ?></td> …
91 php  html 

17
HEREDOC文字列内でのPHP関数の呼び出し
PHPでは、HEREDOC文字列宣言は、htmlのブロックを出力するのに非常に役立ちます。$を前に付けるだけで変数を解析できますが、より複雑な構文($ var [2] [3]など)の場合は、式を{}括弧内に配置する必要があります。 PHP 5では、実際にHEREDOC文字列内の{}括弧内で関数呼び出しを行うことができますが、少し作業を行う必要があります。関数名自体は変数に格納する必要があり、動的に名前が付けられる関数のように呼び出す必要があります。例えば: $fn = 'testfunction'; function testfunction() { return 'ok'; } $string = <<< heredoc plain text and now a function: {$fn()} heredoc; ご覧のとおり、これは単に次のコードよりも少し厄介です。 $string = <<< heredoc plain text and now a function: {testfunction()} heredoc; HEREDOCから抜け出して関数を呼び出す方法や、問題を元に戻して次のようなことを行う方法など、最初のコード例以外にも他の方法があります。 ?> <!-- directly output html and only breaking into …
91 php  string  heredoc 

17
Google APIクライアントでトークンを更新する方法は?
私はGoogle Analytics API(V3)で遊んでいて、somエラーに遭遇しました。まず、すべてが正しく設定され、私のテストアカウントで機能します。しかし、別のプロファイルID(同じGoogle Accont / GAアカウント)からデータを取得したい場合、403エラーが発生します。奇妙なことに、一部のGAアカウントのデータはデータを返し、他のアカウントはこのエラーを生成します。 トークンを取り消してもう一度認証したところ、すべてのアカウントからデータを取得できるようになりました。問題が解決しました?ない。アクセスキーの有効期限が切れると、同じ問題が再び発生します。 私が正しく理解していれば、resfreshTokenを使用して新しいauthenticationTookenを取得できます。 問題は、私が実行すると: $client->refreshToken(refresh_token_key) 次のエラーが返されます。 Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }' refreshTokenメソッドの背後にあるコードをチェックして、リクエストを「apiOAuth2.php」ファイルに追跡しました。すべてのパラメーターが正しく送信されます。grant_typeはメソッド内で 'refresh_token'にハードコーディングされているため、何が問題なのかを理解するのは困難です。パラメータ配列は次のようになります。 Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token ) 手順は以下の通りです。 $client = new apiClient(); $client->setClientId($config['oauth2_client_id']); $client->setClientSecret($config['oauth2_client_secret']); $client->setRedirectUri($config['oauth2_redirect_uri']); $client->setScopes('https://www.googleapis.com/auth/analytics.readonly'); $client->setState('offline'); $client->setAccessToken($config['token']); …

17
ページをリロードせずにフォームを送信する
クラシファイド広告のWebサイトを持っていて、広告が表示されるページで、「友達にヒントを送る」フォームを作成しています... したがって、誰でも広告のヒントを友達にメールで送信できます。 フォームをphpページに送信する必要があると思いますか? <form name='tip' method='post' action='tip.php'> Tip somebody: <input name="tip_email" type="text" size="30" onfocus="tip_div(1);" onblur="tip_div(2);"/> <input type="submit" value="Skicka Tips"/> <input type="hidden" name="ad_id" /> </form> フォームを送信すると、ページが再読み込みされます...したくない... リロードせずにメールを送信する方法はありますか?できればajaxやjqueryなしで... ありがとう
91 php  javascript  html  forms 

5
タグのオープン/クローズとパフォーマンス?
これはばかげた質問かもしれませんが、PHPを比較的初めて使う人として、HTMLテンプレートコードで頻繁にPHPタグを開いたり閉じたりすることにパフォーマンス関連の問題があるかどうかと思います。 PHPタグを操作する方法 私の質問は、終了タグの重要性/正確さ、またはどのタイプのコードが他のコードより読みやすいかについてではなく、ドキュメントがどのように解析/実行され、パフォーマンスにどのような影響があるかについてです。 説明のために、次の2つの極端な例を考えます。 PHPタグとHTMLタグの混在: <?php echo '<tr> <td>'.$variable1.'</td> <td>'.$variable2.'</td> <td>'.$variable3.'</td> <td>'.$variable4.'</td> <td>'.$variable5.'</td> </tr>' ?> // PHP tag opened once PHPタグとHTMLタグの分離: <tr> <td><?php echo $variable1 ?></td> <td><?php echo $variable2 ?></td> <td><?php echo $variable3 ?></td> <td><?php echo $variable4 ?></td> <td><?php echo $variable5 ?></td> </tr> // PHP tag opened five times たとえそれが違いをもたらさないと聞くだけであっても、これについてのいくつかの見解を聞くことに興味があります。 …

5
シングルトンが悪い場合、サービスコンテナはなぜ良いのでしょうか。
我々は、すべての方法を知っている悪いシングルトン彼らは依存関係を非表示にするためにためている他の理由。 しかし、フレームワークでは、一度だけインスタンス化してどこからでも呼び出す必要のある多くのオブジェクト(ロガー、dbなど)が存在する可能性があります。 この問題を解決するために、サービス(ロガーなど)へのすべての参照を内部的に保存する、いわゆる「オブジェクトマネージャー」(またはsymfonyのようなサービスコンテナー)を使用するように言われました。 しかし、サービスプロバイダーが純粋なシングルトンほど悪くないのはなぜですか? サービスプロバイダーも依存関係を隠し、最初のインスタンスの作成をラップアウトするだけです。そのため、シングルトンの代わりにサービスプロバイダーを使用する理由を理解するのに本当に苦労しています。 PS。依存関係を隠さないようにするには、DIを使用する必要があることを知っています(Miskoが述べたように) 追加 私は付け加えます:最近のシングルトンはそれほど悪ではありません、PHPUnitの作成者はここでそれを説明しました: http://sebastian-bergmann.de/archives/882-Testing-Code-That-Uses-Singletons.html DI +シングルトンは問題を解決します: <?php class Client { public function doSomething(Singleton $singleton = NULL){ if ($singleton === NULL) { $singleton = Singleton::getInstance(); } // ... } } ?> これですべての問題が解決されなくても、それはかなりスマートです。 DIとService Container以外に、このヘルパーオブジェクトにアクセスするための適切なソリューションはありますか?

2
GD vs ImageMagick vs Gmagick for jpg?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私は私のウェブサイトで画像を操作するためにGDを放棄する段階にあります-それはひどいです。 GDよりも優れているためImageMagickを使用すると誰もが言っていますが、ImageMagickとGmagick(画像処理のスイスアーミーナイフ)はどうですか? Zendは、http://devzone.zend.com/article/10531でそれらについて語っているかなりの記事を持っています。 ImageMagickに向かう前に、代わりにgmagickを使用する動機はありますか? (PHP 5.3以降) 編集:2つのライブラリの間でどちらが良いかを尋ねることの何が問題になっていますか?公正な質問だと思います。誰かが他のライブラリよりも優れている点を説明できれば、私や他の人々がこの質問を読むのに役立ちます。なぜそのような質問を閉じるのですか? Edit2:私が何をする必要があるかを尋ねる皆のため:私はそれは気づかないと思います:ユーザーが画像をアップロードします(png / gif / bmp w / eの場合もあります)JPGに変換してからデータベースに保存する必要があります。大きすぎるので、少しサイズを小さくする必要があります。 ありがとう

5
サーバー送信イベントとPHP-サーバーでイベントをトリガーするものは何ですか?
すべて、 HTML5 Rocksには、サーバー送信イベント(SSE)に関する優れた初心者向けチュートリアルがあります。 http://www.html5rocks.com/en/tutorials/eventsource/basics/ しかし、私は重要な概念を理解していません-メッセージを送信させるサーバー上のイベントをトリガーするものは何ですか? つまり、HTML5の例では、サーバーはタイムスタンプを1回送信するだけです。 <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); // recommended to prevent caching of event data. function sendMsg($id, $msg) { echo "id: $id" . PHP_EOL; echo "data: $msg" . PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } $serverTime = time(); sendMsg($serverTime, 'server time: ' . date("h:i:s", time())); 私が実用的な例を作成している場合-たとえば、Facebookの「壁」や株価表示器で、サーバーがデータの一部が変更されるたびに新しいメッセージをクライアントに「プッシュ」する場合、それはどのように機能しますか? つまり、PHPスクリプトには、継続的に実行されるループがあり、データの変更をチェックしてから、変更が見つかるたびにメッセージを送信しますか?もしそうなら-そのプロセスをいつ終了するかをどのようにして知っていますか? …

8
日付マイナス1年?
私はこの形式で日付を持っています: 2009-01-01 同じ日付で1年前の日付を返すにはどうすればよいですか?
91 php  date 


7
人間が読める形式でマルチレベル配列を(ログに)出力する方法は?
私はdrupalサイトで作業しており、デバッグするときは常に、ネストされた長い配列を読み取る必要があります。その結果、私の人生の大部分は、矢印キー、Returnキー、およびTabキーを使用して、1000以上の文字列をネストされた読み取り可能な形式に分割することに費やされています。 drupal開発者の場合、マルチステップの#ahah /#ajaxフォームを使用しているため、develのdsm()を使用できません。また、配列をエラーログに出力するだけで、画面には出力できません。 視覚的な例: 悪の: array( 'form_wrapper' => array( '#tree' => true、 '#type' => 'fieldset'、 '#prefix' => ''、 '#suffix' => ''、 '#value' = > ''、 'name' => array( '#type' => 'textfield'、 '#title' => NULL、 '#size' => 60、 '#maxlength' => 60、 '#required' = > false、 '#description' => NULL、 '#attributes' => array( …
91 php  drupal 

4
DBに接続せずにmysql_real_escape_stringの代替
データベースに接続せずにmysql_real_escape_stringとして動作する関数を使用したいのですが、DB接続なしでドライテストを実行する必要がある場合があります。mysql_escape_stringは非推奨であるため、望ましくありません。私の発見のいくつか: http://www.gamedev.net/community/forums/topic.asp?topic_id=448909 http://w3schools.invisionzone.com/index.php?showtopic=20064

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