タグ

関連タグで絞り込む (185)

タグの絞り込みを解除

phpに関するAJYAのブックマーク (520)

  • 【PHP】PHPで非同期処理を実現する方法のサンプルコード - アナザーディメンション

    先日まで仕事で行っていた開発作業はPHPを使ったものだった。その中で技術的な課題として上がったのは、 PHPでバックグラウンド処理(非同期処理)を実現する SOAP通信を利用する の2点だった。会社にはPHPに詳しい人がほとんどいなかったので、ほぼネットの情報で解決したので正解なのかはわからないが、今回の開発での実装方法を備忘録として記しておく。 今回は1の実装方法のサンプルコードを紹介。 非同期処理の実装サンプル PHPにはJavaでいうマルチスレッドのような概念はないため、非常に重たい処理を行う場合も同期処理しかできない。その解決策としては、PHPを外部プログラムとして実行させるしかなかった。 exec('実行したいプログラム > /dev/null &'); こんな感じで実装する。 「> /dev/null &」というのは非同期で実行するために必要なコードで、これがないと同期処理とな

    【PHP】PHPで非同期処理を実現する方法のサンプルコード - アナザーディメンション
    AJYA
    AJYA 2012/10/18
  • 【PHP】バックグラウンド(非同期)で処理を実行する

    PHPで重い処理を行う場合、バックグラウンドでの処理依頼だけして、すぐレスポンスを返す方法のメモ。 基PHPでは非同期処理をサポートしていないので、外部プログラムとして実行させる

    AJYA
    AJYA 2012/10/18
  • 先にダウンロードダイアログを表示させる方法

    お世話になります。 ブラウザから「データ取得」なんてボタンを押すと、データベースからデータを取得して、結果をcsvとして出力するプログラムを考えています。 ただ、データがかなり大きいため、データを取得してくる間の待ち時間が結構あります。この間にブラウザを操作されたりするのも問題なので、ブラウザ側からはすぐに「ダウンロードダイアログ」が出せないでしょうか? あわよくば、ダウンロードしてる、みたいなフリの最中に計算処理とかできるかな?なんて考えたのですが… header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=$file.csv"); ~データ取得処理~ print $受け取ったデータ; こんなのでどうかなと思いましたが、ダメでした。何か良い方法あり

    先にダウンロードダイアログを表示させる方法
    AJYA
    AJYA 2012/10/18
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

    AJYA
    AJYA 2012/10/18
  • 日曜プログラミング講座/PHP言語 - 文法編 - Water-Sunlight

    Webサーバの出力バッファの内容を強制出力します。(※下図を参照して下さい) PHPの出力バッファリングが有効な場合は、ob_flush() に続けて flush() を呼び出します。 header("Content-Type: text/plain"); echo "Hello"; ob_flush(); // PHPの出力バッファを強制出力します。 flush(); // Webサーバの出力バッファを強制出力します。 sleep(2); // "Hello"はブラウザで表示されているはずです。 echo " world.\n"; // 2秒待つと" world."も表示されます。

    AJYA
    AJYA 2012/10/18
  • PHP・・・ 沈黙の"flush"

    沈黙の "flush" カテゴリー: PHP 23Aug2006⇒2Apr2010更新 "flush"!! 動画の "flash" ではありません。「洗い出す」というような意味があります。php 関数の一つで、バッファーされている出力をブラウザに対して出力しようとします。うまくいけば・・・。 "flush" されずに "flustrate" <?php for ($i=0;$i<1000;$i++) { print "☆"; sleep(1); } ?> というスクリプトを実行すると完了するのに16分近くかかりますが、繰り返し操作が終わるまでブラウザ上に出力されず、おそらく途中でタイムアウトになってしまいます。これが大量にメールを送信するスクリプトだったりして、途中でタイムアウトされてしまうと一寸ややこしいことになります。これを回避する手段として、flush 関数を使い逐一出力することがす

    AJYA
    AJYA 2012/10/18
  • Do You PHP はてな - 出力バッファとflush()・ob_flush()

    しばらく使わないとすっかり忘れてしまうので、まとめてメモ。 ありがちなネタとして、 プログレスバー(進捗状況をリアルタイムに表示) 「お待ちください」と表示させて裏で処理を実行し、処理が終わったら結果を表示する などがありますが、これらを行うには出力データのバッファリング/フラッシュを行うことになります。 で、PHP的にはob_*関数やflush関数を使うことになりますが、[PHP-users 18135]プログレスバーは実現可能か?のスレッドから flush()が動作する条件は、出力バッファが無いこと ob_flush()が動作する条件は、出力バッファのネストレベルが1であること 出力バッファのネストレベルはob_get_level()で取得できる output_handler、output_buffer(> 0)を指定すると、ネストレベルが変わります という注意点が挙げられます。 たと

  • ブラウザの中止ボタンを押した後も処理を実行させる方法 タイムアウト以外の停止 - [PHP + PHP] ぺんたん info

    PHPはブラウザの読み込み中止ボタン(読み込み停止ボタン)をクリックしたり、閉じるボタンで閉じてしまうと処理が途中で止まります。 またブラウザとのネットワークが切れてしまったときにも止まります。 つまり出力処理を受ける相手がいなくなるまたは反応がなくなると、処理を中断します。 そこでブラウザを閉じたり、ネットワークが切れたときでも処理を続行させるには次のようにします。 ignore_user_abort(true); ここで処理に時間がかかってしまったときでもタイムアウトしないようにするには、タイムアウトを無制限にします。 [参考記事] PHPタイムアウトの対処法 ignore_user_abort(true); set_time_limit(0); ただしこの場合は無限ループにならないように注意します。 このignore_user_abort()は、php.iniのignore_user

  • PHP CSV出力 (fputcsv 使用) | fujishinko 雑記帳

    PHPMySQLのデータベースに登録したデータをCSVファイルで ダウンロードさせるプログラムを作る必要に迫られました。 改行処理とかめんどくさいな・・・と思っていたところ fputcsvという関数を見つけました。 (PHP5以上のようですが。) サンプルをいくつか探してみたのですが、どうも 「一旦ファイルを作成して、それをダウンロードさせる」 という処理しか見つからない。。。 ダイレクトにダウンロードさせたいのに。 と思っていたら、ステキなサンプルを見つけました。 http://www.developer0000.jp/2007/06/26/1550/ <?php $out = fopen('php://output', 'w'); fputcsv($out, array('this','is some', 'csv "stuff", you know.')); fclose($out

    PHP CSV出力 (fputcsv 使用) | fujishinko 雑記帳
    AJYA
    AJYA 2012/10/17
    [
  • PHPで CSVをダウンロードするための参考サイトとサンプルコード

    ► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20

    AJYA
    AJYA 2012/10/17
  • PHPのfputcsvを使ってCSVをファイルに書き出さずにダウンロードさせるには | tipshare.info

    × Sign in with twitter. You can follow the user and hashtags. Share your tips on social media. Post relative tips. If you have relative tips, click [Add relative tips] to post.

    AJYA
    AJYA 2012/10/17
  • ファイルダウンロード

    AJYA
    AJYA 2012/10/17
  • phpでサーバーにあるCSVファイルをダウンロードさせる処理で、ファイルをダウンロードするとHTML部分のソースがファイルに書きこ... - Yahoo!知恵袋

    phpでサーバーにあるCSVファイルをダウンロードさせる処理で、ファイルをダウンロードするとHTML部分のソースがファイルに書きこまれてしまっています。調べてみたのですが、解決出来ませんでした。お願いします phpでサーバーにあるCSVファイルをダウンロードさせる処理で、ファイルをダウンロードするとHTML部分のソースがファイルに書きこまれてしまっています。調べてみたのですが、解決出来ませんでした。お願いします まずサーバーにあるCSVファイルに書き込み、その後 header ("Content-Disposition: attachment; filename=ファイル名"); header ("Content-type: application/x-csv"); readfile (ファイル名); という処理でダウンロードさせようとしています。 サーバーのCSVはデータの書き込みが成功

    phpでサーバーにあるCSVファイルをダウンロードさせる処理で、ファイルをダウンロードするとHTML部分のソースがファイルに書きこ... - Yahoo!知恵袋
    AJYA
    AJYA 2012/10/17
  • PHP と Web アプリケーションのセキュリティについてのメモ

    このページについての説明・注意など PHP は、Apache モジュールや、CGI、コマンドラインとして使用できるスクリプト言語です。このページでは、主に PHP における、Web アプリケーションのセキュリティ問題についてまとめています。 Web アプリケーションのセキュリティ問題としては、以下の問題についてよく取り挙げられていると思いますが、これらのセキュリティ問題について調べたことや、これら以外でも、PHP に関連しているセキュリティ問題について知っていることについてメモしておきます。 クロスサイトスクリプティング SQL インジェクション パス・トラバーサル(ディレクトリ・トラバーサル) セッションハイジャック コマンドインジェクション また、PHP マニュアル : セキュリティや、PHP Security Guide (PHP Security Consortium) には、PH

  • PHP:年(Y)と週番号(W)からタイムスタンプを取得する方法 KAKIMASSE

    例えば今日が何年の第何週目かを知るには下の関数で取得出来ますが、 <?php date('Y-W'); ?> ⇒今日が2010年11月12日なら 2010-45 と表示されます。 でも、2010年の45週は何月何日なのかを知りたい時がありました。 で、そんな時どうするのかのメモ。 一発で簡単に求められます。 <?php $ret=strtotime('2010W45'); ?> ⇒2010年45週のタイムスタンプ 1289142000 が求められます。 後はdate('Y/n/j H:i:s', $ret);などとして好きなフォーマットで出力可能です。 さらに週の曜日指定をしたい場合は <?php 月曜なら $ret=strtotime('2010W451'); $ret=strtotime('2010W45');と変わらないので省略可能です。 火曜 $ret=strtotime('201

  • http://www.2ch-search.net/blog/6

  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    AJYA
    AJYA 2012/07/15
  • http://www.favorite-labo.org/view/325

    AJYA
    AJYA 2012/07/10
  • PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional

    PHP (The Right Way)PHPをはじめた初心者がWEBにはびこるクソな情報に揉まれて、残念なコードを書いたり、バッドプラクティスを平気でやってしまうことをストップさせるべく立ち上がったプロジェクトのようです。 PHPの開発に携わる人へ、ベストプラクティスや厳選した情報をまとめています。 当にPHPを使えるPHPerになるためには必読な内容ばかりです。日々進化するPHP回りの技術もシッカリ押さえてます。 こちらのサイト → PHP (The Right Way) 最近発売された小川さんのもモダンにまとめられてますが、それのもっと技術的な所を押さえてます。

    PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional
    AJYA
    AJYA 2012/07/09
  • www.phptherightway.com

    Welcome There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web, and what the contributors consider to be best practices at present. There is no canonical way to use PHP. This website aims to

    AJYA
    AJYA 2012/07/09