hogehoge78 の回答履歴
- PHPspreadsheetのインストール
Composerをインストールした後、コマンドプロンプトから以下のようにしてPHPspreadsheetをインストールしようとしましたが、エラーメッセージが出てきてインストールに失敗しました。 C:\Users\Shiro>composer require phpoffice/phpspreadsheet PHP Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Using version ^1.17 for phpoffice/phpspreadsheet ./composer.json has been created Running composer update phpoffice/phpspreadsheet Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - phpoffice/phpspreadsheet[1.17.0, ..., 1.17.1] require ext-gd * -> it is missing from your system. Install or enable PHP's gd extension. - Root composer.json requires phpoffice/phpspreadsheet ^1.17 -> satisfiable by phpoffice/phpspreadsheet[1.17.0, 1.17.1]. To enable extensions, verify that they are enabled in your .ini files: - C:\xampp\php\php.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. Installation failed, deleting ./composer.json. C:\Users\Shiro> メッセージではphp_dg2.dll が無いと言っていますが、xampp/php/ext の中にちゃんと在りますし、php.inファイルの中でも extension=php_dg2.dll を追加してあります。 またメッセージの中に、php と dll が2度繰り返される、ありえないファイル名C:\xampp\php\ext\php_php_dg2.dll.dll というのが見えますが、これはどういうことなのでしょうか。 同じインストールを数時間前に会社でやって上手く行きましたが、今自分の家で同じようにやっても出来ません。私のPCにウイルスでも入ったのでしょうか。 どなたか解決方法が分かる方がいらっしゃいましたら、お知恵を貸していただけないでしょうか?お願いいたします。
- ベストアンサー
- PHP
- papashiroSooke
- 回答数2
- PHPspreadsheetのインストール
Composerをインストールした後、コマンドプロンプトから以下のようにしてPHPspreadsheetをインストールしようとしましたが、エラーメッセージが出てきてインストールに失敗しました。 C:\Users\Shiro>composer require phpoffice/phpspreadsheet PHP Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Using version ^1.17 for phpoffice/phpspreadsheet ./composer.json has been created Running composer update phpoffice/phpspreadsheet Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - phpoffice/phpspreadsheet[1.17.0, ..., 1.17.1] require ext-gd * -> it is missing from your system. Install or enable PHP's gd extension. - Root composer.json requires phpoffice/phpspreadsheet ^1.17 -> satisfiable by phpoffice/phpspreadsheet[1.17.0, 1.17.1]. To enable extensions, verify that they are enabled in your .ini files: - C:\xampp\php\php.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. Installation failed, deleting ./composer.json. C:\Users\Shiro> メッセージではphp_dg2.dll が無いと言っていますが、xampp/php/ext の中にちゃんと在りますし、php.inファイルの中でも extension=php_dg2.dll を追加してあります。 またメッセージの中に、php と dll が2度繰り返される、ありえないファイル名C:\xampp\php\ext\php_php_dg2.dll.dll というのが見えますが、これはどういうことなのでしょうか。 同じインストールを数時間前に会社でやって上手く行きましたが、今自分の家で同じようにやっても出来ません。私のPCにウイルスでも入ったのでしょうか。 どなたか解決方法が分かる方がいらっしゃいましたら、お知恵を貸していただけないでしょうか?お願いいたします。
- ベストアンサー
- PHP
- papashiroSooke
- 回答数2
- phpについて
1.登録サイトで、仮登録のない新規登録は意味がないですか? ほとんどのサイトで会員登録の前にとりあえず仮登録 https://note.com/koushikagawa/n/n9c6e396e2687 をしているいたいなのですが、 そこまでたいそうなものじゃなくてもいいので、サイトにメールアドレスを送信した時刻をクエリに張り付けて、再度、ユーザーが本登録の際、 本登録の時刻ー(引く)サイトにメールアドレスを登録した時刻=24時間以内 なら本登録できる画面に進める。 とかにしても意味ないですか? 2.登録した際に、 会員登録(パスワードとユーザー名)で実装したのですが、データ管理のためにユーザーごとにフォルダーを作成( mkdir) その返り値 エラー / 例外 ¶ ディレクトリが既に存在する場合は E_WARNING レベルのエラーが発生します。 で、すでに作成済みのユーザー名かどうかを判断するのはやめたほうがいいでしょうか?
- phpの用語
phpの用語について。 郵便番号で住所を特定するapiを試してみたのですが、 以下のようなエラーになってしまいます。(エラーの意味はわかります。 allow_url_fopen=0だからfopen出来ない。ですよね?)(xfreeサーバーです。 http:// wrapper(ラッパー?) この、ラッパーってなんですか?また、このような用語について覚えていきたいのですが、やりながらリファレンスを見つつわからなかったことを調べていくって感じで大丈夫ですか? Warning: fopen(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/hoge/public_html/zip_serach_xml.php on line 218 Warning: fopen(http://zip.cgis.biz/xml/zip.php?zn=7392115): failed to open stream: no suitable wrapper could be found in /home/hoge/public_html/zip_serach_xml.php on line 218 could not open XML
- phpについて
1.登録サイトで、仮登録のない新規登録は意味がないですか? ほとんどのサイトで会員登録の前にとりあえず仮登録 https://note.com/koushikagawa/n/n9c6e396e2687 をしているいたいなのですが、 そこまでたいそうなものじゃなくてもいいので、サイトにメールアドレスを送信した時刻をクエリに張り付けて、再度、ユーザーが本登録の際、 本登録の時刻ー(引く)サイトにメールアドレスを登録した時刻=24時間以内 なら本登録できる画面に進める。 とかにしても意味ないですか? 2.登録した際に、 会員登録(パスワードとユーザー名)で実装したのですが、データ管理のためにユーザーごとにフォルダーを作成( mkdir) その返り値 エラー / 例外 ¶ ディレクトリが既に存在する場合は E_WARNING レベルのエラーが発生します。 で、すでに作成済みのユーザー名かどうかを判断するのはやめたほうがいいでしょうか?
- php Carbonの構成について
phpのCarbornのソースをよんでいます addMinutesメソッドのコードが見当たりません、phpdocの@methodにはあります。 addMinutesメソッドはDatetimeクラスに書かれているのでしょうか(Datetimeクラスのソースが見つけられませんでした)
- php @methodについて
題名の通りですが@methodってなにものなんでしょうか? 継承とかimplementsしたクラスのメソッドが使えるってことなんでしょうか?
- PHPでのJSONの使い方(3)
昨日 PHPでのJSONの使い方(1)と(2)で質問させていただき、hogehoge78さんから的確な回答を頂き、問題が解決したと思って質問を締め切った者です。 頂いたアドバイス通りに会社でやったらちゃんと動いたのですが、家に帰ってブラウザーの閲覧履歴やクッキーなどをすべてクリアーした後にプログラムを走らせてみても動きません。 hogehoge78さんのアドバイスにあった様にChromeの開発者用ウィンドウを開いてエラーメッセージを見ましたら、以下のような事が出力されていました。 VM11:2 Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at XMLHttpRequest.xmlhttp.onreadystatechange (displayEnglish.php:27) 27とはファイルの行数だと思うのですが、この行は次の通りです。 if(this.readyState == 4 && this.status == 200){ 「JSON.parse で予期せぬJSON入力の終わり」とは一体どういうことなのでしょうか。 Hogehoge78さんがたまたまこの質問を見て頂いたなら、ご回答いただけると有難いです。 でももちろん、ご回答いただける方ならどなたでも歓迎いたします。 どうかよろしくお願いいたします。
- ベストアンサー
- PHP
- papashiroSooke
- 回答数2
- PHPでのJSONの使い方(3)
昨日 PHPでのJSONの使い方(1)と(2)で質問させていただき、hogehoge78さんから的確な回答を頂き、問題が解決したと思って質問を締め切った者です。 頂いたアドバイス通りに会社でやったらちゃんと動いたのですが、家に帰ってブラウザーの閲覧履歴やクッキーなどをすべてクリアーした後にプログラムを走らせてみても動きません。 hogehoge78さんのアドバイスにあった様にChromeの開発者用ウィンドウを開いてエラーメッセージを見ましたら、以下のような事が出力されていました。 VM11:2 Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at XMLHttpRequest.xmlhttp.onreadystatechange (displayEnglish.php:27) 27とはファイルの行数だと思うのですが、この行は次の通りです。 if(this.readyState == 4 && this.status == 200){ 「JSON.parse で予期せぬJSON入力の終わり」とは一体どういうことなのでしょうか。 Hogehoge78さんがたまたまこの質問を見て頂いたなら、ご回答いただけると有難いです。 でももちろん、ご回答いただける方ならどなたでも歓迎いたします。 どうかよろしくお願いいたします。
- ベストアンサー
- PHP
- papashiroSooke
- 回答数2
- CSVファイルを読みこみ、プルダウンを連動したい
こんにちは、 初心者で色々なサイトを参考に作成しているのですが、どれもうまくいかず、助けて下さい。 phpとjavascriptをを用いて csvを読み込みし、csvから連動したプルダウンを作りたいです。 例えば、csv からプルダウンにて 都道府県を選択し その都道府県の中から市町村を選択すると 何曜日が来場可能かが選択できるようにしたいのです。 test.csv 1,東京都,江戸川区,月曜日 1,東京都,江戸川区,火曜日 1,東京都,練馬区,水曜日 1,東京都,練馬区,木曜日 2,埼玉県,川口市,金曜日 2,埼玉県,川口市,土曜日 ーーーーーーーーーーーーーーーー <? function fmake_sel_opts($filename, $selected=0, $funcChk="",$name="") { //初期化 $idx=0; $htm=""; $listData=Array(); //ファイルの存在確認 if (!@file_exists($filename)) return false; //ファイルからリストデータを配列に読み込む $fp=@fopen($filename, "r"); while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[1]][]=$dat[bin2hex()]; } while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[0]][]=$dat[bin2hex()]; } @fclose($fp); if (!@is_array($listData)) return false; $htm="<select ".$funcChk." ".$name.">\n"; foreach ($listData as $k1=>$v1) { if (@is_array($v1) && $v1[0]!="") { /* グループ化 */ $htm.="<optgroup label='".$k1."'>\n"; $htm.='<option value="">都道府県で絞り込みます</option>'; foreach($v1 as $v2){ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "")." style='margin-left:1em;'>".$v2."</option>\n"; $idx++; } $htm.="</optgroup>\n"; }else{ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "").">".$k1."</option>\n"; $idx++; } } $htm.="</select>\n"; return $htm; } ?>
- ベストアンサー
- PHP
- nanako123kokone
- 回答数4
- CSVファイルを読みこみ、プルダウンを連動したい
こんにちは、 初心者で色々なサイトを参考に作成しているのですが、どれもうまくいかず、助けて下さい。 phpとjavascriptをを用いて csvを読み込みし、csvから連動したプルダウンを作りたいです。 例えば、csv からプルダウンにて 都道府県を選択し その都道府県の中から市町村を選択すると 何曜日が来場可能かが選択できるようにしたいのです。 test.csv 1,東京都,江戸川区,月曜日 1,東京都,江戸川区,火曜日 1,東京都,練馬区,水曜日 1,東京都,練馬区,木曜日 2,埼玉県,川口市,金曜日 2,埼玉県,川口市,土曜日 ーーーーーーーーーーーーーーーー <? function fmake_sel_opts($filename, $selected=0, $funcChk="",$name="") { //初期化 $idx=0; $htm=""; $listData=Array(); //ファイルの存在確認 if (!@file_exists($filename)) return false; //ファイルからリストデータを配列に読み込む $fp=@fopen($filename, "r"); while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[1]][]=$dat[bin2hex()]; } while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[0]][]=$dat[bin2hex()]; } @fclose($fp); if (!@is_array($listData)) return false; $htm="<select ".$funcChk." ".$name.">\n"; foreach ($listData as $k1=>$v1) { if (@is_array($v1) && $v1[0]!="") { /* グループ化 */ $htm.="<optgroup label='".$k1."'>\n"; $htm.='<option value="">都道府県で絞り込みます</option>'; foreach($v1 as $v2){ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "")." style='margin-left:1em;'>".$v2."</option>\n"; $idx++; } $htm.="</optgroup>\n"; }else{ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "").">".$k1."</option>\n"; $idx++; } } $htm.="</select>\n"; return $htm; } ?>
- ベストアンサー
- PHP
- nanako123kokone
- 回答数4
- CSVファイルを読みこみ、プルダウンを連動したい
こんにちは、 初心者で色々なサイトを参考に作成しているのですが、どれもうまくいかず、助けて下さい。 phpとjavascriptをを用いて csvを読み込みし、csvから連動したプルダウンを作りたいです。 例えば、csv からプルダウンにて 都道府県を選択し その都道府県の中から市町村を選択すると 何曜日が来場可能かが選択できるようにしたいのです。 test.csv 1,東京都,江戸川区,月曜日 1,東京都,江戸川区,火曜日 1,東京都,練馬区,水曜日 1,東京都,練馬区,木曜日 2,埼玉県,川口市,金曜日 2,埼玉県,川口市,土曜日 ーーーーーーーーーーーーーーーー <? function fmake_sel_opts($filename, $selected=0, $funcChk="",$name="") { //初期化 $idx=0; $htm=""; $listData=Array(); //ファイルの存在確認 if (!@file_exists($filename)) return false; //ファイルからリストデータを配列に読み込む $fp=@fopen($filename, "r"); while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[1]][]=$dat[bin2hex()]; } while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[0]][]=$dat[bin2hex()]; } @fclose($fp); if (!@is_array($listData)) return false; $htm="<select ".$funcChk." ".$name.">\n"; foreach ($listData as $k1=>$v1) { if (@is_array($v1) && $v1[0]!="") { /* グループ化 */ $htm.="<optgroup label='".$k1."'>\n"; $htm.='<option value="">都道府県で絞り込みます</option>'; foreach($v1 as $v2){ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "")." style='margin-left:1em;'>".$v2."</option>\n"; $idx++; } $htm.="</optgroup>\n"; }else{ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "").">".$k1."</option>\n"; $idx++; } } $htm.="</select>\n"; return $htm; } ?>
- ベストアンサー
- PHP
- nanako123kokone
- 回答数4
- CSVファイルを読みこみ、プルダウンを連動したい
こんにちは、 初心者で色々なサイトを参考に作成しているのですが、どれもうまくいかず、助けて下さい。 phpとjavascriptをを用いて csvを読み込みし、csvから連動したプルダウンを作りたいです。 例えば、csv からプルダウンにて 都道府県を選択し その都道府県の中から市町村を選択すると 何曜日が来場可能かが選択できるようにしたいのです。 test.csv 1,東京都,江戸川区,月曜日 1,東京都,江戸川区,火曜日 1,東京都,練馬区,水曜日 1,東京都,練馬区,木曜日 2,埼玉県,川口市,金曜日 2,埼玉県,川口市,土曜日 ーーーーーーーーーーーーーーーー <? function fmake_sel_opts($filename, $selected=0, $funcChk="",$name="") { //初期化 $idx=0; $htm=""; $listData=Array(); //ファイルの存在確認 if (!@file_exists($filename)) return false; //ファイルからリストデータを配列に読み込む $fp=@fopen($filename, "r"); while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[1]][]=$dat[bin2hex()]; } while (!@feof($fp)) { $dat=@fgetcsv($fp, filesize($filename), ","); if(!$dat[0]) continue; $listData[$dat[0]][]=$dat[bin2hex()]; } @fclose($fp); if (!@is_array($listData)) return false; $htm="<select ".$funcChk." ".$name.">\n"; foreach ($listData as $k1=>$v1) { if (@is_array($v1) && $v1[0]!="") { /* グループ化 */ $htm.="<optgroup label='".$k1."'>\n"; $htm.='<option value="">都道府県で絞り込みます</option>'; foreach($v1 as $v2){ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "")." style='margin-left:1em;'>".$v2."</option>\n"; $idx++; } $htm.="</optgroup>\n"; }else{ $htm.="<option value='".$k1."'".(($idx==$selected) ? " selected" : "").">".$k1."</option>\n"; $idx++; } } $htm.="</select>\n"; return $htm; } ?>
- ベストアンサー
- PHP
- nanako123kokone
- 回答数4
- ランキング機能の実装
group byを使って、詳細テーブルを集計してランキング表示するためのSElECT文を作成しています。購入数の多い順に商品を表示させるには、以下のSQL文をどのように修正すればいいですか? $sql = " SELECT details.item_id, details.price, details.amount SUM(details.price * details.amount) AS total, items.name FROM details JOIN items ON details.item_id = items.item_id GROUP BY details.item_id, details.price, details.amount, items.name ORDER BY amount ";
- file get contentsが使用禁止だった
### 前提・実現したいこと file_get_contensがサーバーのセキュリティ上禁止だったのでcurlという関数で 「取り出したいデータのファイル」にある <div class="menu">から</div>までをget通信でedit.phpにurlを渡し、内容を取り出したいのですが、mb_subster等を使いとりだしを試みましたが分からなかったので取り出しかたを教えてください。 よろしくお願いします。 ソースコード <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>取り出したいデータのファイル</title> </head> <style> </style> <body> <form method="get" action="../edit.php"> <button type="submit" name="edit" value="<?php echo (empty($_SERVER['HTTPS']) ? 'http://' : 'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>">編集</button> </form> <div class="menu"> <h1>メニュー</h1> <p>カレー</p> </div> </body> </html> edit.php <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>別のファイルを表示したいファイル</title> </head> <style> </style> <body> <?php echo $_REQUEST['edit']; $url = $_REQUEST['edit']; $conn = curl_init(); // cURLセッションの初期化 curl_setopt($conn, CURLOPT_URL, $url); // 取得するURLを指定 curl_setopt($conn, CURLOPT_RETURNTRANSFER, true); // 実行結果を文字列で返す。 $res = curl_exec($conn); echo ($res); curl_close($conn); //セッションの終了 ?> </body> </html>
- PDOのlastInsertId
PDOのlastInsertIdについて質問です。lastinsertid()について調べてみると、「最後に挿入された行の ID あるいはシーケンスの値を返す」と書いてあったのですが、最後に挿入された行のIDをどうやってlastinsertidはIDかIDでないかを判断しているのですか?lastLnsertIdはAUTO_INCREMENTの値を取得すると解釈していますが、これで正しいでしょうか?
- フォーム追加
ログイン機能をつけた、ユーザー自身がアップロードするサイトを作っています。 このようなフォームをボタンで追加したり削除したりするには普通、jsを使うと思いますが、phpのクラス class form のようにして画像のようにフォームを増減させることはできますか? もしできる場合、簡単なロジック(方針)を教えて下さい。 なお、フォームには 1.アップロードするファイルのタイトル 2.ファイルの説明 3.ファイル(アップロードするファイル名は私自身で、アップロード者、日付等をディレクトリやファイル名にして、セキュリティに配慮しています。) の3つを入れたいです。
- トークンとCSRF対策
// 1. トークンの生成 function get_csrf_token(){ // get_random_string()はユーザー定義関数。 $token = get_random_string(30); // set_session()はユーザー定義関数。 // CSRFのトークンを生成してセッションに格納したものを返す set_session('csrf_token', $token); // $_SESSION['csrf_token'] = $token; return $token; } // 2.トークンのチェック function is_valid_csrf_token($token){ if($token === '') { return false; } // 引数に与えられたもの$tokenと$_SESSION[‘csrf_token’]とを比較して // 合っていればtrue、そうでなければfalseを返す return $token === get_session('csrf_token'); // $_SESSION['csrf_token']; } function get_random_string($length = 20){ return substr(base_convert(hash('sha256', uniqid()), 16, 36), 0, $length); } get_csrf_token()とis_valid_csrf_token($token)は修正せずに、「if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['csrf_token'] === $_POST['csrf_token']) {} 」と同じ意味にするには、どのような処理(if文)を追加すればいいですか?
- トークンとCSRF対策
// 1. トークンの生成 function get_csrf_token(){ // get_random_string()はユーザー定義関数。 $token = get_random_string(30); // set_session()はユーザー定義関数。 // CSRFのトークンを生成してセッションに格納したものを返す set_session('csrf_token', $token); // $_SESSION['csrf_token'] = $token; return $token; } // 2.トークンのチェック function is_valid_csrf_token($token){ if($token === '') { return false; } // 引数に与えられたもの$tokenと$_SESSION[‘csrf_token’]とを比較して // 合っていればtrue、そうでなければfalseを返す return $token === get_session('csrf_token'); // $_SESSION['csrf_token']; } function get_random_string($length = 20){ return substr(base_convert(hash('sha256', uniqid()), 16, 36), 0, $length); } get_csrf_token()とis_valid_csrf_token($token)は修正せずに、「if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['csrf_token'] === $_POST['csrf_token']) {} 」と同じ意味にするには、どのような処理(if文)を追加すればいいですか?