PEAR Image_QRCodeエラー

このQ&Aのポイント
  • PEARライブラリのImage_QRCodeを使用してQRコードを作成する際にエラーが発生しました。
  • エラーメッセージは「Image_QRCode_Exception: Can't open ECC data file」という内容で、ファイルのオープンに失敗しているようです。
  • 環境はPEAR 1.9.4、PHP 5.3.5、Image_QRCode 0.1.2、OSはWindows 7です。
回答を見る
  • ベストアンサー

PEAR Image_QRCodeのエラー

QRコードを作成するためにpearライブラリ内にあるImage_QRCodeを使用したいのですがエラーが出ます。 ファイル名(test.php)----------------------- require_once '/Image/QRCode.php'; $qr = new Image_QRCode(); $qr->makeCode("Hello, world"); ------------------------------------------- このコードを実行したところ以下のエラーが発生しました。 --------------------------------------------------------------------------------------------------------------------------------------------------------- Fatal error: Uncaught <table style="border: 1px" cellspacing="0"> <tr><td colspan="3" style="background: #ff9999"> <b>Image_QRCode_Exception</b>: Can't open ECC data file in <b>C:\XAMPP\php\PEAR\Image\QRCode.php</b> on line <b>863</b></td></tr> <tr><td colspan="3" style="background-color: #aaaaaa; text-align: center; font-weight: bold;">Exception trace</td></tr> <tr><td style="text-align: center; background: #cccccc; width:20px; font-weight: bold;">#</td><td style="text-align: center; background: #cccccc; font-weight: bold;">Function</td><td style="text-align: center; background: #cccccc; font-weight: bold;">Location</td></tr> <tr><td style="text-align: center;">0</td><td>Image_QRCode->readECCData(Array, 26)</td><td>C:\XAMPP\php\PEAR\Image\QRCode.php:863</td></tr> <tr><td style="text-align: center;">1</td><td>Image_QRCode->performECCOperation(Array, 26)</td><td>C:\XAMPP\php\PEAR\Image\QRCode.php:658</td></tr> <tr><td style="text-align: center;">2</td><td>Image_QRCode->makeCode('Hello, world')</td><td>C:\XAMPP\htdocs\QR\te in C:\XAMPP\php\PEAR\Image\QRCode.php on line 893 ------------------------------------------------------------------------------------------------------------------------------------------------------------ 確認したところgdは有効になっているようです。 初歩的な質問で凝縮ですが、何が原因か教えていただきたく存じます。 私の環境は以下の通りです。 PEAR:1.9.4 PHP:5.3.5 Image_QRCode:0.1.2 os:windows7

  • PHP
  • 回答数1
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

imagedataやdataディレクトリの内容はどうなっていますか? というかダウンロード・展開したものをちゃんと設置していますか(qrcode.phpが入っているimageディレクトリだけ置いてもダメです)。

do79tama13
質問者

お礼

確認したところImageフォルダ以外は何もない状態でした。 インストールはコマンドプロンプトの画面からgo-pear.pharが入っているディレクトリに移動し、「pear install Image_QRCode-0.1.3」とコマンドを入力しインストールしていました。どうやらこの方法ではImageフォルダしかダウンロードされないようです(windowsのみに起こる現象??)。 仕方ないので公式ホームページからImage_QRCode-0.1.3.gzをダウンロードし、+Lhacaという名前のフリーソフトで解凍したものを所定の場所に置いたところ解決しました。 windoewの場合は一度ローカルにダウンロードしたあと解凍するという方法をとらなければダメのようです。 この方法であればimagedataやdataフォルダが含まれていることが確認できます。 非常に助かりました。ありがとうございました(#^^#)

関連するQ&A

  • PEAR(Image_QRCode)のエラー

    下記のコマンドでPEARパッケージ「Image_QRCode」をインストールしました。 pear install Image_QRCode-0.1.1 PHPのバージョンは以下の通りです。 PHP 5.3.6-13ubuntu3.2 with Suhosin-Patch (cli) (built: Oct 13 2011 23:19:13) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies ちゃんと動くかを確認するために下記のサンプルを作成しました。 コードの内容は下記の通りです。 <?php require_once("Image/QRCode.php"); $qr = new Image_QRCode(); $qr->makeCode("Hello, world"); ?> ブラウザで表示したら下記のワーニングが出力され、ネットで検索しても解決する事ができませんでした。 Notice: Undefined property: Image_QRCode::$structureappend_n in /usr/share/php/Image/QRCode.php on line 1129 Notice: Undefined property: Image_QRCode::$version in /usr/share/php/Image/QRCode.php on line 670 Warning: Cannot modify header information - headers already sent by (output started at /usr/share/php/Image/QRCode.php:1129) in /usr/share/php/Image/QRCode.php on line 655 ※この下にも文字が出力されましたが文字化けして何が書いてあるかわからなかったので省略しました。 ご存知の方がいましたらアドバイスいただけませんでしょうか。 ここ一週間、悩んで悩んで困っています。 本当に申し訳ありませんがお力をお貸しいただけませんでしょうか。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • CSSを使った丸ナンバー付きテーブルの挿入

    HTMLで作成した丸ナンバー付きテーブルをスタイルシートを使って挿入しようと思っているのですが、肝心の数字の部分が真っ白になってしまいました。関係しそうなところだけ抜き出してみました。 (↓headの中に書いてある) body {background-color: white; background-image: url(dolp2.gif); color: #000000} table, td {width: 800px; border: 2px #C0C0C0 solid; border-collapse: collapse; background-color: #ffffff;} (↓body以下に書いてある) <div><Table border="0"><Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 1 </Td></Tr></Table> </Td><Td width="350"> ===ここに文章を書いて下さい1=== </Td></Tr> <Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 2 </Td></Tr></Table> </Td><Td width="350"> ===ここに文章を書いて下さい2=== </Td></Tr> <Tr><Td> <Table border="0" cellspacing="0" bgcolor="#009500" cellspacing="0" cellpadding="5" style="color:#ffffff;font-size:25px;font-weight:bold;width:40;filter:Alpha(opacity=100,finishopacity=0,style=2);"> <Tr><Td align="center" valign="middle"> 3 </Td></Tr></Table></div> </Td><Td width="350"> ===ここに文章を書いて下さい3=== </Td></Tr></Table> このようなタイプのものはheadやcssにあげたほうがいいのでしょうか? 最初はこのままbodyのなかに収めておこうかと思っていたのですが、上記のような事態になってしまったのでどうしたらいいのか困っています。 HTML初心者なので、なにとぞ宜しくお願いします。

    • ベストアンサー
    • HTML
  • メールフォームについて質問です。

    メールフォームについて質問です。 <h3>ご注文ご依頼メール</h3> <span style="font-weight: bold;"></span> <center> <form style="margin-left: 0px; width: 800px;" method="post" action="当方アドレス" enctype="text/plain" name="メールフォーム"><br /> <table style="width: 694px; height: 202px;"> <tbody> <tr> <td style="text-align: center;"><b>お名前</b></td> <td style="width: 599px; text-align: left;"><input size="40" name="name" type="text" /></td> </tr> <tr> <td style="text-align: center;"><b>郵便番号</b></td> <td style="text-align: left;"><input size="20" name="郵便番号" /></td> </tr> <tr> <td style="text-align: center;"><b>ご住所</b></td> <td style="width: 599px; text-align: left;"><input size="80" name="jyusho" type="text" /></td> </tr> <tr> <td style="text-align: center;"><b>お電話番号</b></td> <td style="text-align: left;"><input size="40" name="電話番号" type="text" />  <font color="#ff0000">(記入例)000-0000-0000</font></td> </tr> <tr> </tbody> </table> <br /> ご希望の商品名・数量などをお書き込みください。<br /> <table> <tbody> <tr> <td colspan="2" align="center"><b><font color="#ff00ff">ご記入内容に問題がなければ、送信するのボタンをクリックして下さい。</font></b></td> </tr> <tr> <td style="text-align: center;" colspan="2"> <input value="送信する" type="submit" />   <input value="取り消す" type="reset" /></td> というメールフォームを作ったのですが、送信ができません。 どこが間違っているのでしょうか? 全くの素人なのでどこが違うのか見当もつきません。 それから、送信後に送信確認ページを表示させたいのですが、どうしたらよろしいでしょうか?

  • Firefoxでテーブルの外側の背景色が出ない

    IE8では中央にテーブルが配置し外側の背景色が出るのですが、Firefoxではテーブルの位置も左側に寄り、外側の背景色がテーブル内と同じ白一色になってしまうのですが、どう直したらいいのでしょうか。 以下、ソースです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 9.0.0.0 for Windows"> <TITLE>○○○</TITLE> <STYLE TYPE="text/css"> <!-- BODY {background:'palegreen';color:#000000;text-align:center;} TABLE {background:#FFFFFF;color:#000000;} CAPTION {background:#FFFFFF;color:#000000;text-align:left;font-weight:bold;} .tmscntr {text-align:center;font-size:14px;font-family:'Times New Roman';} .tmsrght {text-align:right;font-size:14px;font-family:'Times New Roman';} .tmslft {text-align:left;font-size:14px;font-family:'Times New Roman';} SPAN {margin-left:20PX;"}}}}}}}} .cntr {text-align:center;} .rght {text-align:right;} .lft {text-align:left;} A:visited {color:#000099;} A:active {color:#FFFFFF;background:#CCCCFF;} A:hover {color:#DCDCDC;background:#000099;} --> </STYLE> </HEAD> <BODY text="#000000" bgcolor="#FFFFFF" link="#ff3535" vlink="#808080" alink="#ff8040"> <DIV><BR> <TABLE cellpadding=5 cellspacing=0><CAPTION>○○○</CAPTION><TR><TD> <TABLE border="0" cellpadding=5 cellspacing=0><CAPTION>○○○</CAPTION> <TR><TD><b>(1)○○○</b></TD><TD><b>○○○</b></TD><TD colspan="3"><b>○○○○○○</b> <b><font color="#ff0000">○○○</b></font></TD></TR> <TR><TD></TD><TD style={text-indent:24px;}><b>○○○</TD><TD><b>○○○○○○○○○</b></TD></TR> <TR><TD><br><b>(2)○○○</b></TD><TD><br><b>○○○</b></TD><TD colspan="3"><br><b>○○○<b><font color="#008800">○○○○○○○○○</b></font></TD></TR> <TR><TD></TD><TD style={text-indent:24px;}><b>○○○</b></TD><TD><b>○○○○○○○○○</b></TD></TR> <TABLE align="center"><br><br><br> </TABLE> </TD></TR></TABLE></DIV> </BODY> </HTML>

  • データが消えてしまいます

    サーバー上にtest.txtファイルをおいてブラウザからこのファイルの更新をしようとしているのですが、ブラウザを一回閉じてもう一度開くとtest.txtのデータが消失してしまいます、なにがいけないのでしょうか? ファイル名「news.php」 ---------ソース抜粋-------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>新着情報更新画面</title> <style type="text/css"> <!-- .style5 { font-size: 16px; font-family: Geneva, Arial, Helvetica, sans-serif, "MS UI Gothic"; font-weight: bold; color: #FF9900; } .style6 { font-size: 10px; color: #990000; } .style8 {color: #FF0000; font-weight: bold; font-size: 12px; } .style13 { color: #FF9900; font-weight: bold; } --> </style> </head> <body> <div align="center"> <p class="style5">&nbsp;</p> <p class="style5">新着情報更新画面</p> <form name="form1" method="post" action="<?PHP EditText($_POST['textfield1']); ?>"> <p>&nbsp;</p> <table width="100" border="1" bordercolor="#FF0000"> <tr> <td align="center" valign="middle" bgcolor="#FFCCCC"><span class="style8">編集エリア</span></td> </tr> <tr> <td align="center" valign="middle"><span class="style6">注意!:『¥』は全角で入力してください半角だと『\\』と表示されてしまいます</span></td> </tr> <tr> <td align="center" valign="middle"><textarea name="textfield1" cols="80" rows="9"></textarea></td> </tr> <tr> <td align="center" valign="middle"><input type="submit" name="Submit2" value="編集内容確定" onclick=""></td> </tr> </table> </form> <table width="100" border="1" bordercolor="#FF9900"> <tr> <td align="center" valign="middle" bgcolor="#FFFF66"><span class="style13">新着情報</span></td> </tr> <tr> <td align="center" valign="middle"><textarea name="textfield2" cols="80" rows="9" readonly> <?php //ファイルの読み込み if(is_readable("test001.txt")){ readfile("test001.txt"); }else{ echo "読み込みエラー\n"; } ?> </textarea></td> </tr> </table> </div> </body> </html> <?php function EditText($s){ //ファイルオープン(無ければ作成) $fh=fopen("test001.txt","w"); fwrite($fh,$s); fclose($fh); } ?> -------------------------------------------------------

    • ベストアンサー
    • PHP
  • htmlでインプットボックスを横並びに表示したい。

    ホームページを作成しておりますが、tdの中にinput type="text"にてテキストボックスを4つ作成したいと考えております。 こちらで拝見いたしましたチェックボックスの右側に文字を表示される方法をご参考にさせていただき、下記を作成しましたが、縦並びになってしまいます。 何とかして縦2×横2に置き換えることはできないでしょうか? ブラウザはIE11を使用しており、コードはVisualStudioCodeを使用しております。 <div style="top : 161px;left : 8px; position : absolute; z-index : 4; width : 847px; height : 252px; " id="Layer5"> <div style="background: white; padding: 10px; margin-bottom: 10px; border: 1px solid #333333"> <table border="1" height="252" width="818"> <tr bgcolor="gray" style="color:white" height="50"> <th height="42" width="92"><b>列1</b></th> <th height="42" width="212">列2・列3<br>列4・列5</th> <th height="42" width="137">列7/列8</th> <th height="42" width="189"><b>列9/列10</b></th> </tr> <tr bgcolor="lightyellow"> <td align="center" height="47" width="92"> <input type="text" name=列1 style="background:white; color:#000000;" align="middle" value="83行目"> </td> <td align="center" height="47" width="312"> <input type="text" name=列2 style="background:white; color:#000000;" align="middle" value="86行目"> <input type="text" name=列3 style="background:white; color:#000000;" align="middle" value="87行目"> <input type="text" name=列4 style="background:white; color:#000000;" align="middle" value="88行目"> <input type="text" name=列5 style="background:white; color:#000000;" align="middle" value="89行目"> </td> <td align="center" height="47" width="137"><input type="text" name=列7 style="background:white; color:#000000;" align="middle" value="92行目"> <span> <input type="text" name=列8 style="background:white; color:#000000;" align="middle" value="93行目"> </span> </td> </div> <td align="center" height="47" width="189"><input type="text" name=列9 style="background:white; color:#000000;" align="middle" value="96行目"> <input type="text" name=列0 style="background:white; color:#000000;" align="middle" value="97行目"> </td> </tr> <tr> <td align="center" height="47" width="92"></td> <td align="center" height="47" width="212"></td> <td align="center" height="47" width="137"></td> <td align="center" height="47" width="189"></td> </tr> </table> </div> </div> 【上記で表示させた場合】 ーーーーー|  86行目  |ーーーーー| ーーーーー|  87行目  |ーーーーー|  96行目  83行目  |  88行目  |  92行目|  97行目 ーーーーー|  89行目  |ーーーーー| 【やりたいこと】 ーーーーー|ーーーーーーーーーー|ーーーーー| ーーーーー|  86行目|87行目 |ーーーーー|  96行目  83行目  |  88行目|89行目 | 92行目 |  97行目 ーーーーー|ーーーーーーーーーー|ーーーーー|

  • 擬似フレームにて

    お世話になっております。 HTML中に以下の様なタグで擬似フレームを作成しています。 overflowでid=headの部分は動かさずそれ以降の部分をスクロールさせるにはどのようにすればいいでしょうか?ご教授願います。 <DIV style="overflow:scroll;height=100px;">   <TABLE border="1"cellspacing="0" align="left">     <TR id="head">       <TD noWrap align="center" style="width:4%">A</TD>      <TD noWrap align="center" style="width:11%">B</TD>      <TD noWrap align="center" style="width:18%">C</TD>       <TD noWrap align="center" style="width:22%">D</TD>       <TD noWrap align="center" style="width:34%">E</TD>       <TD noWrap align="center" style="width:11%">F</TD>      </TR>     <TR style="background-color: #FF0000;">     <TD noWrap align="center" style="width:4%">あ</TD>      <TD noWrap align="center" style="width:11%">い</TD>     <TD noWrap align="center" style="width:18%">う</TD>     <TD noWrap align="center" style="width:22%">え</TD>     <TD noWrap align="center" style="width:34%">お</TD>     <TD noWrap align="center" style="width:11%">か</TD>     </TR>     <TR style="background-color: #FF0000;">      <TD noWrap align="center" style="width:4%">あ</TD>      <TD noWrap align="center" style="width:11%">い</TD>      <TD noWrap align="center" style="width:18%">う</TD>      <TD noWrap align="center" style="width:22%">え</TD>      <TD noWrap align="center" style="width:34%">お</TD>      <TD noWrap align="center" style="width:11%">か</TD>     </TR>      ・      ・      ・   </TABLE> </DIV>

    • ベストアンサー
    • HTML
  • tableの内側の線を表示したい

    タイトルどおり、テーブルの内側の線を書きたいのですが、CSSなどが影響しているようで縦の線が表示されません。 私個人のサイトではないので、他のページのテーブルは変更できないので、私が書いている文章の途中にだけ出てくるテーブルのみに、縦線を表示させたいです。 今後は使うことはないと思うので、できれば、CSSのファイルをいじることなくやりたいのですが、方法がわかりません。アイデアを貸してください。 <table style="height: 614px;" width="496" > <tbody> <tr> <td><img class="size-medium wp-image-1624 aligncenter" src="" alt="12" width="225" height="300" /> <p style="text-align: center;">テキスト</p> </td> <td><img class="size-medium wp-image-1626 aligncenter" src="" alt="11" width="300" height="225" /> <p style="text-align: center;">テキスト</p> </td> </tr> <tr> <td><img class="size-medium wp-image-1584 aligncenter" src="" alt="1022" width="300" height="339" /> <p style="text-align: center;">テキスト</p> </td> <td><img class="size-medium wp-image-1585 aligncenter" src="" alt="1082" width="300" height="339" /> <p style="text-align: center;">テキスト</p> </td> </tr> <tr> <td><img class="size-medium wp-image-1586 aligncenter" src="" alt="1092" width="300" height="339" /> <p style="text-align: center;">テキスト</p> </td> <td><img class="size-medium wp-image-1627 aligncenter" src="" alt="13" width="254" height="339" /> <p style="text-align: center;">テキスト</p> </td> </tr> <tr> <td><img class="size-medium wp-image-1583 aligncenter" src="" alt="P1000231" width="300" height="225" /> <p style="text-align: center;">テキスト</p> </td> <td><img class="size-medium wp-image-1625 aligncenter" src="" alt="15" width="300" height="225" /> <p style="text-align: center;">テキスト</p> </td> </tr> </tbody> </table>

    • 締切済み
    • CSS
  • 特定の列の<td>または<th>だけにスタイルを

    かけたいということがあります。 例えば、 ---------------------------------------------------------- <style type="text/css"> .tab1 th, .tab1 td { font-weight:normal; text-align:center; background:#fee; } .tab1 .row2 th { /* ----------------(1) */ background:#fff; } .tab1 .col2 th { /* ----------------(2) */ background:#ffff; } </style> <table class="tab1"> <col class="col1"> <col class="col2"> <col class="col3"> <tr class="row1"> <th>1</th> <th>2</th> <th>3</th> </tr> <tr class="row2"> <th>4</th> <td>5</td> <td>6</td> </tr> <tr class="row3"> <th>7</th> <td>8</td> <td>9</td> </tr> <table> ---------------------------------------------------------- だと、 1 2 3 4 5 6 7 8 9 の中の「4」は(1)により背景が白くなります。 しかし、(2)のようにしても「2」の背景は白くなりません。 <col>ってそういうものなのでしょうか? <td>または<th>にidをつけてスタイルをかけるしかないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • Notepad++で日本語文字が化ける。

    HTML技術者の皆さんこんにちは。 質問をさせてください。 ある社員がドリームウィーバーで作成したホームページを私が日本語に翻訳 することになりました。私のやり方としては、ページ毎に記述されてる英文を日本語で書き直そうと考えです。 (1)エディターとしてNotepad++を使ってます。ソース中の英文を日本語に書き直すことは出来ます。  しかし、エディターを一旦閉じて再度開くと日本語部分が化けてます。原因を解決を教えてください。 (2)Firefoxで実行して見ると、やはり日本語文書は化けてました。エンコードを日本語に選択すると読める文書と読めない文書が出てきます。 下記のソースは一部分の例です。 <table cellpadding=0 cellspacing=0> <tr> <td width=369 height=28 style='vertical-align:top'><![endif]> <div v:shape="_x0000_s49727" style='padding:2.88pt 2.88pt 2.88pt 2.88pt' class=shape> <p class=MsoNormal style='mso-pagination:none;text-align:center;text-align: center'><span style='font-size:12.0pt;font-weight:bold;language:EN; mso-ansi-language:EN'> 2010 Reviews<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;text-align:center;text-align: center'><span style='font-size:12.0pt;font-weight:bold;language:EN; mso-ansi-language:EN'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p> </div> <![if !vml]></td> </tr> </table> 以下のように書き直しました。 <table cellpadding=0 cellspacing=0> <tr> <td width=369 height=28 style='vertical-align:top'><![endif]> <div v:shape="_x0000_s49727" style='padding:2.88pt 2.88pt 2.88pt 2.88pt' class=shape> <p class=MsoNormal style='mso-pagination:none;text-align:center;text-align: center'><span style='font-size:12.0pt;font-weight:bold;language:JP; mso-ansi-language:JP'>2010年度レビュー<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;text-align:center;text-align: center'><span style='font-size:12.0pt;font-weight:bold;language:JP; mso-ansi-language:JP'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p> </div> <![if !vml]></td> </tr> </table> これだけの修正は不十分ですか?宜しくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう