PHP変数をaタグで囲む方法

このQ&Aのポイント
  • PHPの変数をaタグで囲む方法を教えてください。
  • foreach文を使用してファイルの情報を取得し、その内容をecho文で出力しています。
  • ハッシュタグ: #PHP #変数 #aタグ
回答を見る
  • ベストアンサー

PHP 変数 aタグで囲いたい

失礼します。echo の中の変数をaタグで囲いたいのですがやり方がわかりません。 よろしくお願いします。 foreach($files as $file_path => $file_info) { if (!$file_info->isFile()) { continue; } echo 'file path : ' .$file_path ."</br>"; echo 'file size : '. $file_info->getSize() ."</br>"; echo 'contents : '. file_get_contents($file_path) ."</br>"; }

  • PHP
  • 回答数4
  • ありがとう数2

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.4

> 上記のコードを使わせていただくと > Parse error: syntax error, unexpected 'file' (T_STRING), expecting ',' or ';' in C:\xampphtdocs\upload\upload-file.php on line 78 > と表示されます。 <br>のあとはダブルクオートじゃなくシングルクオートですね。 失礼しました。 echo 'file path : <a href ="' . $file_path . '">' . $file_path . '</a><br>';

losloson
質問者

お礼

す、すごい・・ありがとうございます!! 無事表記されました! しかし$file_pathがシングルとダブルで囲まれているんですね汗 もしよろしければ教えていただけますか?

その他の回答 (3)

  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.3

> echo 'file path : '<a href =$file_path</a>'."</br>"; ではなく echo 'file path : <a href ="' . $file_path . '">' . $file_path . '</a><br>"; が、質問者さんのやりたい事ではないでしょうか。 echo で出力を行う場合、シングルクオートかダブルクオートで囲まれた範囲がそのまま出力されるので、HTMLとして出力した部分は囲んだ中に入れ、変数は ドットで繋いで中身を出力するようにします。

losloson
質問者

補足

ありがとうございます。リンクするのと表示は別で記述しないといけないのですね。 上記のコードを使わせていただくと Parse error: syntax error, unexpected 'file' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\upload\upload-file.php on line 78 と表示されます。

  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.2

補足にエラーメッセージをずらずらと書かれていますが、お聞きになりたいことは何でしょう?

losloson
質問者

補足

説明不足申訳ございません上記のはいろいろ試して出た結果でして 現在は echo 'file path : '<a href =$file_path</a>'."</br>"; のように囲むと Parse error: syntax error, unexpected 'href' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\upload\upload-file.php on line 77 とでてしまいます。 aタグの中身をリンクできるようにしたいです。

  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.1

echo '<a href="' . $hoge . '">'; みたいな事をやりたいと言う事でしょうか?

losloson
質問者

補足

あ、こちらにコメントしたほうがよかったですか、、、 Notice: Undefined property: SplFileInfo::$getSize in C:\xampp\htdocs\upload\upload-file.php on line 67 echo 'file path : ' "; echo 'file size : '. () ." "; echo 'contents : '. file_get_contents(C:/xampp/htdocs/upload/test\test\test\test.txt) ." "; Notice: Undefined property: SplFileInfo::$getSize in C:\xampp\htdocs\upload\upload-file.php on line 67 echo 'file path : ' "; echo 'file size : '. () ." "; echo 'contents : '. file_get_contents(C:/xampp/htdocs/upload/test\test\test.txt) ." "; Notice: Undefined property: SplFileInfo::$getSize in C:\xampp\htdocs\upload\upload-file.php on line 67 echo 'file path : ' "; echo 'file size : '. () ." "; echo 'contents : '. file_get_contents(C:/xampp/htdocs/upload/test\test80\test32.txt) ." "; Notice: Undefined property: SplFileInfo::$getSize in C:\xampp\htdocs\upload\upload-file.php on line 67 echo 'file path : ' "; echo 'file size : '. () ." "; echo 'contents : '. file_get_contents(C:/xampp/htdocs/upload/test\test80\test33.txt) ." ";

関連するQ&A

  • 【Flash】PHPを使って変数を読み出し

    【count.php】にこのようなスクリプト記述。 動作はここで確認できます。 【ttp://flash-moe.yi.org/count/count.php】 <?PHP ini_set('display_errors', '1'); $file = file_get_contents ("./count.txt"); $file++; file_put_contents ("./count.txt", $file); $file = mb_convert_encoding($file, "UTF-7", "EUC-JP"); echo $file; ?> それを【LoadVars】を使って値を取得させるには どうしたらいいのか?教えてくださいm(_"_)m

    • ベストアンサー
    • Flash
  • 外部ファイルから$a=1等の変数を読み込みたい

    <html> <body> <?php $contents = @file_get_contents('count.php'); echo $contents; ?> <span id="ck0001"><?php echo $count[ck0001] ; ?></span><br> <span id="ck0002"><?php echo $count[ck0002] ; ?></span><br> </body> </html> --------------------- count.txtの内容 $count[ck0001] = 4; $count[ck0002] = 3; こんな感じでここの値から引っ張ってきたいのですが、方法がわかりません。 備考:PHP触り始めてから今日で二日目です。

    • ベストアンサー
    • PHP
  • PHP ZIP 展開できない

    PHPで作成したZipファイルが展開できません ダブルクリックで展開すると無効ですと表示されます。 よろしくお願いします。 define("file_zone","C:/MAMP/htdocs/upload/test/"); if(isset($_POST["download"])){ $path = file_zone; $files = scandir($path); $zip = new ZipArchive($files); // Zipファイル名 $zipFileName = "file_" . date("Ymds") .'.zip'; // Zipファイル一時保存ディレクトリ $zipTmpDir = file_zone; // Zipファイルオープン $result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); if ($result !== true) { // 失敗した時の処理 } // 処理制限時間を外す set_time_limit(0); foreach ($files as $filepath) { $filename = basename($filepath); // 取得ファイルをZipに追加していく $zip->addFromString($filename,file_get_contents($filepath)); } $zip->close(); // ストリームに出力 header('Content-Type: application/zip; name="' . $zipFileName . '"'); header('Content-Disposition: attachment; filename="' . $zipFileName . '"'); header('Content-Length: '.filesize($zipTmpDir.$zipFileName)); echo file_get_contents($zipTmpDir.$zipFileName); // 一時ファイルを削除しておく // unlink($zipTmpDir.$zipFileName); }

    • ベストアンサー
    • PHP
  • PHP 再帰的 ZipArchive

    現在サブディレクトリの中のファイルも含めZipファイルを作成していのですがうまくいきません 説明がうまくできませんが下記のサブディレクトリのtestだけが表示されファイルが取得できません。できればpath_uploadの中を階層を変えずzipで圧縮して取得したいです。 なにとぞよろしくお願いします。 path_upload----test-----test.txt |--test2.txt |--test3.txt コード define("file_zone","C:/MAMP/htdocs/upload/path_upload"); if(isset($_POST["download"])){ $path = file_zone; $files = scandir($path); $zip = new ZipArchive($files); // Zipファイル名 $zipFileName = date("Ymd") .'.zip'; // Zipファイル一時保存ディレクトリ $zipTmpDir = file_zone; // Zipファイルオープン $result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); if ($result !== true) { // 失敗した時の処理 } // 処理制限時間を外す set_time_limit(0); foreach ($files as $filepath) { $filename = basename($filepath); // 取得ファイルをZipに追加していく $zip->addFromString($filename,file_get_contents($filepath)); } $zip->close(); // ストリームに出力 if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); header('Content-Type: application/zip; name="' . $zipFileName . '"'); header('Content-Disposition: attachment; filename="' . $zipFileName . '"'); header('Content-Length: '.filesize($zipTmpDir.$zipFileName)); echo file_get_contents($zipTmpDir.$zipFileName); // 一時ファイルを削除しておく // unlink($zipTmpDir.$zipFileName); }

    • ベストアンサー
    • PHP
  • phpで変数を使ってcopyできない

    基本的な質問かもしれず申し訳ないのですが、どうしてもできないので質問します。 以下のコードでファイルコピーを試みているのですがうまくいきません。 $store_file = "//***.**.**.**/data/" . $_FILES['upfile']['name']; if(!copy($_FILES['uplfile']['tmp_name'],$store_file)) { print "失敗<br>"; } 試しにcopy($_FILES['uplfile']['tmp_name'],$store_file)) の部分の$store_fileに直接'//***.**.**.**/data/copyfile.xls'のようにパスを入力するとうまくいくのですが、それを$store_fileのように変数にするとうまくいきません。//を\\\\\とかに変えたりしてみたのですがだめでした。 どなたか教えてください。宜しくお願い致します。

    • 締切済み
    • PHP
  • スクリプトの中から使用されている変数と関数をリストする

    phpで書かれたスクリプトファイルの中から使用されている関数と変数をリストアップさせるようなことをしたいのですが、preg_matchを使うのが妥当でしょうか?また、正規表記はどんな感じがベストでしょうか?自分で試してみてもまったくへたくそでして... トホホ ぜひ皆さんの技量を拝見させてください ^^。 <?php $data = file_get_contents('~.php'); $functions = '/\s*\(*/i'; preg_match($functions, $data, $matches); print_r($matches); echo "<br>"; $variables = '/^\$[.+]/i'; preg_match($variables, $data, $matches2); print_r($matches2); echo "<br><br>"; echo $data; ?>

    • ベストアンサー
    • PHP
  • 【PHP】書き込みできません

    PHP5.3の環境でファイル書き込みのロジックがうまくいかずに困っています。 環境は下記の通りです。 Apache 2.2.2 PHP 5.3.3 コードは下記の通りです。 >>CODE $file_path = "/home/xxxxx/logs/test.txt"; echo file_exists($file_path); echo "file_path1=".$file_path; if ( file_exists($file_path) ) { echo "file_path2=".$file_path; // ファイルポインタ取得 if ( ($fp = fopen($file_path, 'a')) !== FALSE ) { // ログは追記 echo "file_path3=".$file_path; // ファイルポインタに書き込み fwrite($fp, $date."\n"); fwrite($fp, $body); fwrite($fp, "----------------------------------------------------\n"); // ファイルポインタクローズ fclose($fp); $flg = true; } } <<CODE 権限は下記の通りです。 logs 777 test.txt 777 現象は下記の通りです。 echo文のfile_path1は表示されます。 echo文のfile_path2及びfile_path3は表示されません。 $file_path="/home/logs/test.txt";に変更すると、 echo文のfile_path1及びfile_path2が表示されます。 echo文のfile_path3は表示されません。 ファイルが存在することはlsで確認したので間違いありません。 権限も777にしているので、何がおかしいのか困り果ててしまい、初めて投稿させて頂きました。 PHPやApacheの設定ファイル等も問題あるのでしょうか。 どうぞご指摘お願いいたします。

  • PHPの記述について

    質問させていただきます。 PHP Simple HTML DOM Parserを用いて 以下のような記述で ブラウザにより結果は表示されます。 この結果を テキストファイル(たとえばtest.txt)にして同じでディレクトリに 保存するにはどのような記述になりますか? よろしくお願いいたします。 <?php require_once('simple_html_dom.php'); $html = file_get_html('http ://hogehoge'); foreach($html->find('li[class=hogehogehoge]') as $element) echo $element->plaintext."<br />" ?>

    • ベストアンサー
    • PHP
  • PHP重複ファイルに連番をつけてアップロードしたい

    ファイルをアップロードするページをPHPで作りました。 testup.htmlでファイルを選択し、 testup.phpでファイルをサーバーにアップする 簡単な仕組みです。 アップロードには成功したのですが、 同じファイル名のデータがある場合、上書きされてしまいます。 上書きされずに、連番等をファイル名に追加してアップロード できればと思いましたが、方法がわかりません。 当方PHPの初心者です。何卒お力をお貸しください。 よろしくお願い致します。 ソースを記入しておきます。 「testup.html」 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> テストアップローダー<br> <form action="testup.php" method="post" enctype="multipart/form-data"> アップロードするファイルを選択してください。 <br> <input type="file" name="upfile" size="30"><br> <br> <input type="submit" value="アップロード"> <label>  <input type="reset" name="button" id="button" value="リセット" /> </label> </form> </body> </html> 「testup.php」 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> <p><?php if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0777); echo $_FILES["upfile"]["name"] . "をアップロードしました。"; echo "<br><br>ありがとうございました。"; echo "<br><FORM><INPUT TYPE=button value=閉じる onClick=window.close()></FORM>"; } else { echo "ファイルをアップロードできません。"; echo "<br>お手数ですが前の画面に戻ってもう一度ファイルをアップロードしてください。"; echo "<br><FORM><INPUT TYPE=button value=前のページに戻る onClick=JavaScript:history.back()></FORM>"; } } else { echo "ファイルが選択されていません。"; echo "<br>お手数ですが前の画面に戻ってファイルを選択してください。"; echo "<br><FORM><INPUT TYPE=button value=前のページに戻る onClick=JavaScript:history.back()></FORM>"; } ?></p> </body> </html>

    • ベストアンサー
    • PHP
  • PHPで外部サイトの一部を取得して表示

    こんにちは。 普通、外部ファイルの内容を取得して表示する場合、次のようにしますよね。 <?php echo file_get_contents("***URL***"); ?> それで、そのページの一部分、 例えば<div id="text">~</div>の内容を取得して、 file_get_contentsと同じように表示する方法はありますでしょうか。 取得する範囲はIDで指定できればと思います。 よろしくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう