アレルギー対策、自宅でできる効果的な方法とは?

Parse error: syntax error, unexpected...on line 34
上記のエラーが出てきます。

<?php
$items = simplexml_load_file('URL')->channel->item;
$url = (string)$items[0]->children('media', true)->thumbnail->attributes()->url;
<a href="<?php echo $items->link; ?>"><img src="<?php echo $url; ?>"></a> ?>

この
<a href="<?php echo $items->link; ?>"><img src="<?php echo $url; ?>"></a> ?>の箇所が34行目ですが、どこが間違っているか教えていただけませんか。
よろしくお願いします。

A 回答 (3件)

<?php


$items = simplexml_load_file('URL')->channel->item;
$url = (string)$items[0]->children('media', true)->thumbnail->attributes()->url;
echo '<a href="'.$items->link.'"><img src="'.$url.'"></a>';
?>

のような書き方をしないとまずそうですね
    • good
    • 0

<?php


$items = simplexml_load_file('URL')->channel->item;
$url = (string)$items[0]->children('media', true)->thumbnail->attributes()->url;
echo '<a href="'.$items->link.'"><img src="'.$url.'"></a>';
?>

のような書き方をしないとまずそうですね
    • good
    • 0

PHPには詳しくない(というか意識的に勉強とかしていない)ですが……



><a href="<?php echo $items->link; ?>"><img src="<?php echo $url; ?>"></a> ?>の箇所が34行目ですが、どこが間違っているか教えていただけませんか。

<a href=~ ってのはphpの命令なんですかね?
print()で出力しているするべきものではないんでしょうか?
# で、print()で出力する場合、間の"<?php ほにゃらら ?>"にあるほにゃららは実行されるんでしょうか??

htmlタグとphpタグがごっちゃになっていたりしませんか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qバイナリ文字列の初期化方法

php でバイナリ文字列を任意の値(0x00〜0xff)の列で初期化して
これをファイルに書き込もうとしているのですがpackでどうも
うまくいきません。この部分の書き方を教えていただけますでしょうか。

<?php
$bin = 0x12 . 0x34;
$nstr = pack('H*', ord($bin));
file_put_contents( 'kwrname.mid', $nstr );
?>

> php be.php
> od kwrname.mid
000000 49
000001

Aベストアンサー

> $bin = 0x12 . 0x34;

上記は、文字列の 1852 になります。

pack と ord の使い方も間違っています。

http://jp2.php.net/manual/ja/function.pack.php
http://jp2.php.net/manual/ja/function.ord.php

バイナリを書き込みたいだけなら下記です。

<?php
$bin = chr(0x12) . chr(0x34);
file_put_contents('kwrname.mid', $bin);
?>

<?php
$bin = pack('H*', '1234');
file_put_contents('kwrname.mid', $bin);
?>

$ od -t x1 kwrname.mid
0000000 12 34
0000002

QPHP 画像の表示

プログラミング初心者です。
PHPでブラウザに画像を表示したいのですが映らなくて
以下のソースコードは間違っているでしょうか?

<?php
$fileName = "img/test.jpg"; //ファイル名

if (file_exists($fileName)) {
header('Content-type: image/jpeg');
header('Content-Length: '.filesize("http://localhost:8080/test.jpg")); //あった方が良い
readfile("http://localhost:8080/test.jpg"); //ファイルを読み込んで標準出力に書き出し
exit;
}
?>

Aベストアンサー

file_existsで所在確認しているのに
なんでfilesizeやreadfileでhttpベースに書き直しているのでしょうか?
filesize($fileName)やreadfile($fileName)で試してみて下さい

ちなみに、readfileはバイナリセーフではないので
基本的にはfopen、fread、fcloseの流れでデータを読んで出力してください

Qgetnameを3個ともabcに変えても特に問題なくプログラムは動きます。

しかし、extendsは一つしかないのですが他のスペルに変えたら動きません?
何処で管理さているのでしょうか?
 以下プログラムです。
 よろしくお願いします。
<!DCTYPE html>
<html>
<head>
<title>P270派生クラス継承とオーバーライト</title>
</head>
<body>

<?php

$usr1 = new User("鈴木",56, "mmm@nnn.nn.jp", "03-xxx-xxx");

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>名前</th>
<th>年齢</th>
<th>アドレス</th>
<th>電話</th>
</tr>

<?php

print "<tr><td>";
print $usr1->getname();
print "</td><td>";
print $usr1->getage();
print "</td><td>";
print $usr1->getadr();
print "</td><td>";
print $usr1->gettel();
print "</td><tr>";

?>

</table>

<?php

class person
{
protected $name = "姓名";
protected $age = 20;

public function __construct($nm,$ag)
{
$this->name = $nm;
if($ag>=20 && $ag<=60){
$this->age = $ag;
}
else
$this->age = -1;
}
public function getname(){return $this->name;}
public function getage(){return $this->age;}
}

class User extends person
{
private $adr = "xxx@xxx.xx.xx";
private $tel = "xx-xx-xxxx";

public function __construct($nm,$ag,$ad,$tl)
{
parent::__construct($nm,$ag);
$this->adr = $ad;
$this->tel = $tl;
}
public function getname(){return"会員:" . $this->name;}
public function getadr(){return $this->adr;}
public function gettel(){return $this->tel;}
}
?>

</body>
</html>

しかし、extendsは一つしかないのですが他のスペルに変えたら動きません?
何処で管理さているのでしょうか?
 以下プログラムです。
 よろしくお願いします。
<!DCTYPE html>
<html>
<head>
<title>P270派生クラス継承とオーバーライト</title>
</head>
<body>

<?php

$usr1 = new User("鈴木",56, "mmm@nnn.nn.jp", "03-xxx-xxx");

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>名前</th>
<th>年齢</th>
<th>アドレス</th>
<th>電話</th>
</tr>

<?php

print "<tr><td>"...続きを読む

Aベストアンサー

> getnameを3個ともabcに変えても特に問題なくプログラムは動きます。

getnameは関数名であり、条件はありますが名前はプログラマが自由に決めることができます。
ですから、abcに書き換えても動作します。


> extendsは一つしかないのですが他のスペルに変えたら動きません?

extendsは、PHPの予約語(キーワード)として登録されており、特別な意味を持ちます。
従って書き換えるとエラーになります。


キーワードのリスト
http://php.net/manual/ja/reserved.keywords.php

QPHP getimagesize();

プログラミング初心者です。
現在、PHPにてブラウザに画像の表示をしようとしているのですが
上手く行きません。ソースコードを張るのでダメなところがありましたら
手ほどきの程お願い致します。
ーーーーー
<?php
$fileName = "test.jpg"; //ファイル名

if (file_exists($fileName)) {
header('Content-type: image/jpeg');
header('Content-Length: '.filesize($fileName)); //あった方が良い
readfile($fileName); //ファイルを読み込んで標準出力に書き出し
★getimagesize(test.jpg);
exit;
}else{
echo "b";
}
?>
ーーーー

目的

- phpにてブラウザに画像の表示

状況

- 最初は★のある行はなしでやっていたが

画像が映るも、かなり小さかったので大きくしようと
★のある行を追加。

- 画像の小ささはスクリーンショットを参考

プログラミング初心者です。
現在、PHPにてブラウザに画像の表示をしようとしているのですが
上手く行きません。ソースコードを張るのでダメなところがありましたら
手ほどきの程お願い致します。
ーーーーー
<?php
$fileName = "test.jpg"; //ファイル名

if (file_exists($fileName)) {
header('Content-type: image/jpeg');
header('Content-Length: '.filesize($fileName)); //あった方が良い
readfile($fileName); //ファイルを読み込んで標準出力に書き出し
★getimagesize(test.jpg);
exit;
}...続きを読む

Aベストアンサー

ブラウザで「画像のみ表示」みたいなことをすると、その画像だけが表示されますよね?
今のプログラムはそれと同じことをやっている(=画像のみを表示している)状態です。
★ のようなことをしても影響ありません。(最悪、不正な画像データとなってしまって表示できなくなるかもしれません)


URL に 〜.jpg とやると、そのファイルがそのままアクセスできるように見えます。
ですが、実際には、サーバープログラム(Apache等)の中で、あなたのPHPスクリプトと同じような手順(ファイルの内容を読み込み、ヘッダを就けて送信)を行なっています。
ブラウザ側では、今どちらの方法で送られて来たデータかは区別できません。


この画像の表示を制御したいのなら、 HTMLの imgタグのSRCとしてこのスクリプトを指定するなどの工夫が必要です

Qこのプログラムを説明すにあたり!

私は頭が錆びないようにPHPプログラムを勉強しています。
以下のプログラムはPHP参考書の通りに入力しました。
 しかし!<?php~?>の順番を変えてもプログラムは動きます。
そこで、もしあなたが第三者に以下のプログラムの流れを説明しようとした場合
主観でもいいのですが、最初にどんなプログラムを持ってきますか?
 よろしくお願いします。
<!DOCTYPE html>
<html>
<head>
<title>P262 Sample8-4 コンストラクタとクラスの変数</title>
</head>
<body>

<?php

$pr1 = new Person("鈴木",56);
$pr2 = new Person("佐藤",38);
?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>名前</th>
<th>年齢</th>
</tr>

<?php

print "<tr><td>";
print $pr1->getname();
print "</td><td>";
print $pr1->getage();
print "</td></tr>";

print "<tr><td>";
print $pr2->getname();
print "</td><td>";
print $pr2->getage();
print "</td></tr>";

?>
</table>

<?php

print "<hr>";
print "合計人数:";
print Person::$count;

?>

<?php

class Person
{

public static $count = 0;

public function __construct($nm,$ag)

{
person::$count++;


$this->name = $nm;
if($ag>=20 && $ag<=60){
$this->age = $ag;
}
else
$this->age = -1;
}
public function getname(){return $this->name;}
public function getage(){return $this->age;}
}

?>

</body>
</html>

私は頭が錆びないようにPHPプログラムを勉強しています。
以下のプログラムはPHP参考書の通りに入力しました。
 しかし!<?php~?>の順番を変えてもプログラムは動きます。
そこで、もしあなたが第三者に以下のプログラムの流れを説明しようとした場合
主観でもいいのですが、最初にどんなプログラムを持ってきますか?
 よろしくお願いします。
<!DOCTYPE html>
<html>
<head>
<title>P262 Sample8-4 コンストラクタとクラスの変数</title>
</head>
<body>

<?php

$pr1 = new Person("鈴木",56);
$pr2 =...続きを読む

Aベストアンサー

できればクラスの宣言は上部にもっていくか、別ファイルにわけてincludeします
あとは表示部分はひとまとめにしたほうがいいでしょう

<?php
class Person
{
public static $count = 0;
public function __construct($nm,$ag){
person::$count++;
$this->name = $nm;
if($ag>=20 && $ag<=60){
$this->age = $ag;
}
else
$this->age = -1;
}
public function getname(){
return $this->name;
}
public function getage(){
return $this->age;
}
}


$pr1 = new Person("鈴木",56);
$pr2 = new Person("佐藤",38);


$table=<<<eof
<tr>
<td>{$pr1->getname()}</td>
<td>{$pr1->getage()}</td></tr>
<tr>
<td>{$pr2->getname()}</td>
<td>{$pr2->getage()}</td>
</tr>
eof;

$goukei=<<<eof
<hr>
合計人数:
eof;
$goukei.=Person::$count;

print <<<eof
<!DOCTYPE html>
<html>
<head>
<title>P262 Sample8-4 コンストラクタとクラスの変数</title>
</head>
<body>
<table border="2">
<tr bgcolor="#AAAAAA">
<th>名前</th>
<th>年齢</th>
</tr>
{$table}
</table>
{$goukei}
</body>
</html>
eof;
?>

できればクラスの宣言は上部にもっていくか、別ファイルにわけてincludeします
あとは表示部分はひとまとめにしたほうがいいでしょう

<?php
class Person
{
public static $count = 0;
public function __construct($nm,$ag){
person::$count++;
$this->name = $nm;
if($ag>=20 && $ag<=60){
$this->age = $ag;
}
else
$this->age = -1;
}
public function getname(){
return $this->name;
}
public function getage(){
return $this->age;
}
}


$pr1 = ...続きを読む

QPHPへリクエストしたときに値を返してくれない

ApacheのURLがhttp://localhost...だと
phpへAndroidからリクエストをしたときに値を返してくれませんか?

知識不足が露呈してしまう文章でスミマセン。

Aベストアンサー

一般的にホスト名にlocalhostとした場合にどこと通信しようとしているのか。
というのを調べた方がいいでしょう。

>phpへAndroidからリクエストをしたときに値を返してくれませんか?

Androidから通信先のURLにhttp://localhost~というのにアクセスした場合、
Android本体内の80番ポートに接続しに行きます。
で、普通はWebサーバなど起動していませんので接続失敗で終わります。

接続失敗ですので値を返すとかそういう問題ではありません。

QPHP isset

PHPで、これは何をしているプログラムですか?

if(isset($_GET['a'])){

}

Aベストアンサー

test.php?a=xxx

のようにgetとしてパラメータaが設定されているかどうかをチェックしています。
パラメータaが設定されていない場合チェックしなまま$_GET['a']を参照すると
「設定されていない変数を参照してますよ」と注意喚起のメッセージがでます。

最近はデータの受け渡しの際はfilter_input()関数が使われるようになったので
$_GETや$_POSTをissetでチェックすることは少なくなっているような気もします

Qプログラムの改良

人の作ったプログラムを改良することになりました。
Visual C++ は初めてですが、CやC++は一通り勉強しています。

そこで、いろいろ調べているのですが、
例えば
「MFCは使わずに,Win32API SDKを用いた方法」
などという説明があります。

自分が対応しているプログラムが、そのどちらであるか、あるいはほかの方法で作られているか
というのはどうしたら分かるのでしょうか?

Aベストアンサー

No1です
私はC++は全然触ったこと無いので
あまり的確な回答は期待しないでくださいね

Q1.いいんじゃないでしょうか?
MSDNのOnPoint↓
https://msdn.microsoft.com/ja-jp/library/01c9aaty.aspx

OnPointクラス(Cwndクラス)
https://msdn.microsoft.com/ja-jp/library/1xb05f0h.aspx
このページの一番最初に
「Microsoft Foundation Class ライブラリにあるすべてのウィンドウ クラスの基本機能が用意されています。」と書いてありますから
そういうことですね

Q2.なんでもいいと思いますけど
そもそもあなたが対応するプログラムが
きちんとWin32のみで、もしくはMFCのみで書かれているとは限らないですからね
適当に作られて、両方が混在している可能性だってありますし

Q3.そこからですか
そこは調べればすぐ出てくるかと思いますが
MFCというのはWin32をラッピングしたものです

Q4.作った本人に聞く
仕様書とかがあるならそれを見る

No1です
私はC++は全然触ったこと無いので
あまり的確な回答は期待しないでくださいね

Q1.いいんじゃないでしょうか?
MSDNのOnPoint↓
https://msdn.microsoft.com/ja-jp/library/01c9aaty.aspx

OnPointクラス(Cwndクラス)
https://msdn.microsoft.com/ja-jp/library/1xb05f0h.aspx
このページの一番最初に
「Microsoft Foundation Class ライブラリにあるすべてのウィンドウ クラスの基本機能が用意されています。」と書いてありますから
そういうことですね

Q2.なんでもいいと思いますけど
そもそもあなたが...続きを読む

QキャッシュカードのICについて磁気の影響は?

キャッシュカードには磁気読み取りと
ICチップが埋め込まれてますが、
そのキャッシュカードのICについては
磁気の影響はあるのでしょうか?

というのも、1年ほど前にキャッシュカードがスマホのマグネットの影響で
ダメにしてしまって再発行したのですが、
また使えなくなり、再度銀行へ行くと「ICもダメになっているようです」
といわれ、また再発行する事になりました。
以後、マグネットには気を付けていたのですが…、
そもそもカードの磁気データーはともかくとして、
ICも磁気に弱いのですか?

Aベストアンサー

日常身の回りにあるような程度の磁気で故障することはありません。
そのかわり曲げや熱には弱い。

Qプログラムエラー

大学で情報システムの勉強をしているのですが、テスト工程におけるエラーは論理エラーが一番多いのですか?もしそうだとして、なぜ一番多いのでしょうか?人為的なミスが原因で起こると習いましたが、構文エラーも人為的な入力ミスで起こりますよね?

Aベストアンサー

>>テスト工程におけるエラーは論理エラーが一番多い

一番多いのはケアレスミス、つまりウッカリミスです。
1とiの間違い、0とoの間違い、;と:の間違い、.と,の間違い、変数の綴りミス、変数のクリアミスなど。

ロンリミスは直ぐに発見できるが、ケアレスミスは発見に時間がかかる。

特に当事者が発見するのは相当難しい(そう思い込んでいるから)。


人気Q&Aランキング

おすすめ情報