• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fputs()はfwrite()のエイリアスとは?)

fputs()とfwrite()の関係について

このQ&Aのポイント
  • fputs()はfwrite()のエイリアスであり、同じ機能を持つ関数です。
  • fputs()とfwrite()は同じファイルに文字列を書き込むための関数です。
  • fputs()の呼び方を変えただけで中身はまったく同じです。

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

ファイル名のエイリアスと同じようなものではありますが、あまりファイル名のエイリアスの詳細(どうやって実現しているか)に拘っても意味がないです(汗 >『fputs()はfwrite()のエイリアス』とは何ですか? この場合は実際の関数の実体が「同じもの」だということですね。 >fputs()とはfwrite()の呼び方を変えただけで中身はまったく同じということでしょうか。 という認識でいいです。 (蛇足) 関数エイリアスの一覧は下記に http://php.net/manual/ja/aliases.php エイリアスとは違いますが関数のオーバーロードというのもあります。 http://php.net/manual/ja/mbstring.overload.php

kiseki777
質問者

お礼

参考になりました。 エイリアスというものはいろいろあるんですね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

そのファイルを例えている話で言うと windowsで言う「ショートカット」のファイルがあるよね? あれと似たようなものだと思えば良いよ。 macでもエイリアスって言ってるけど linuxとかだと「リンク」とか言ってるね。

kiseki777
質問者

お礼

実体はまったく同じだけど呼び方が違う(何かが違うけど無視して問題ない)。 ということですね。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • php fputs について

    こんにちは、趣味でプログラミングをしている者です。 さっそくですが質問させていただきます。 php で何かを作ったことはないのですが すこし勉強してみようと思い、 インターネットでphpの記事を見たりしていたところ、 次のような例文を見つけました。 <?php $http_response = ''; $fp = fsockopen('www.php.net', 80); fputs($fp, "GET / HTTP/1.1\r\n"); fputs($fp, "Host: www.php.net\r\n\r\n"); while (!feof($fp)) { $http_response .= fgets($fp, 128); } fclose($fp); echo nl2br(htmlentities($http_response)); ?> この例文の処理はなんとなくわかるのですが、 上記の例文で、fputs について調べようと思い以下のサイトの 記事を見ました http://www.php.net/manual/ja/function.fputs.php そこには次のように書かれていました。 fputs fwrite() のエイリアス そこで質問させていただきたいのですが、 エイリアスとはどのようなものなのでしょうか? windows のエクスプローラでいえばショートカットのような ものでしょうか? 例文で fwrite を使ってもよいのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • fputsに関して

    php初心者です。 ファイル書き込みで困っているので知っている方がいたら教えて下さい。 環境はphp5です。 //////////////////////////////////////// $fp = @fopen("書き込むファイルへのパス", "w") or die ("error\n"); fputs($fp, "<?php include(\"test.inc\"); ?>"); //////////////////////////////////////// 上記のようにしたいと考えていますが、上手く出来ません・・・。 書き込んだテキストがphpで、それを動作させたいです。 色々調べては見てるのですが、そのようなドキュメントが見つからなく困っております。 よろしくお願いします。

    • 締切済み
    • PHP
  • fwriteで改行出来ない

    $fno = fopen($newsFilePath."/test.txt", 'w'); fwrite($fno, 'test\r\n'); fwrite($fno, 'test\r\n'); fclose($fno); とすると、きちんとファイルは生成されるのですが、 中身が「test\r\ntest2\r\n」になってしまいます。 「\r\n」の位置で改行して2行で出力させるには、 どうすればいいでしょうか? 前はたしか\r\nでうまくいっていたんですが、、、 何がいけないんでしょう? どなたかお分かりの方教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • fwrite の文法が間違っていますか?

    どうしてもエラーになってしまいます どこが間違っているかお教え頂けませんでしょうか 宜しくお願い致します $fp_i = fopen($indexphp, "w"); fwrite($fp_i, "<html>\n<head>\n"); fwrite($fp_i, "<title>title</title>\n"); fwrite($fp_i, "<meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\">\n"); fwrite($fp_i, "</head>\n"); fwrite($fp_i, "<body>\n"); fwrite($fp_i, "<?php\n"); fwrite($fp_i, "$txt = 'test'\n"); fwrite($fp_i, "print'($txt)';\n"); fwrite($fp_i, "?>\n"); fwrite($fp_i, "</body>\n"); fwrite($fp_i, "</html>");

    • ベストアンサー
    • PHP
  • fwriteについて

    #include<stdio.h> int main(void) { FILE* fp; double f[5]={ 3.1, 2.9, 4.2, 3.7, 4.0}; double data; fp=fopen("test.txt","wb"); if(fp==NULL) { printf("text.txtが開けません。"); return 0; } fwrite(f,sizeof(double),5,fp); fclose(fp); }と入力したのでが、test.txtファイルを見ると 文字化けがでて、数値がわかりません。 数値もテキストファイルに出力する方法があったらご教授よろしくお願いします。できたらなぜこのようなことが起きたのか教えてくださるとうれしいです。

  • fputsについて2つ疑問です

    初心者でございます。 $fp =fopen(file, "r+"); $text="<ahref=\"http://www.yahoo.co.jp">ヤフー</a> "; fputs($fp,"$text"); flock($fp, LOCK_UN); fclose($fp); 上記のようにfileへヤフーリンクの書き込みを行いたいのですが、 ・わたしが疑問な部分2つ 「//」 のコメント文字を機能させなくするにはどうすればいいのでしょうか。 <ahref=\"http://www.yahoo.co.jp">ヤフー</a>のようなhtmlタグを書き込みをすることができるのでようか。 お願いいたします。

    • ベストアンサー
    • PHP
  • qmail+phpでfwriteができません

    お世話になります qmailの.qmailを変更し空メールをトリガーにphpを起動させ さまざまな処理を行いたいと考えています! 次のようなテストをしたのですが、なぜかfwrite()が動いてくれません test1の「aaa.php」 - 成功 はじめににmb_send_mail()を書いて空メールを送ることに成功しました。 test2の「aaa.php」 - 失敗 次にfwrite()を書いてtest2.txtが作れるか試してみたのですが出来ませんでした。 なぜ、test2.txtが作れないのかわかる方にご教授願いたいです。 なにとぞよろしくお願いいたします ・test2の「aaa.php」を直接ブラウザで参照すると成功します。 ・test2.txt及び下層フォルダの属性を777にしてみましたが失敗します。 ・test2の「aaa.php」にchmod("test2.txt",0777)を加えましたが失敗します。 ・is_writable()でtest2.txtを調べるとfalseが帰ってきているようです(成功しているmb_send_mail()を使って検証) (.qmail)--- | /usr/bin/php /var/www/vhosts/Mydomain/httpdocs/aaa.php #mb_send_mail()は成功するのでここの設定は問題ないと思われます (test1の「aaa.php」 - 成功)--------- function Sendmail($title,$body,$to,$from_name,$from_email) { mb_language('Ja'); mb_internal_encoding('utf-8'); $mailfrom='From:'.mb_encode_mimeheader($from_name).'<'.$from_email.'>'; mb_send_mail($to,$title,$body,$mailfrom); } Sendmail('mailtest','test','test@Mydomain.com','test','test@Mydomain.com'); (test2の「aaa.php」 - 失敗)--------- $test = "test"; $filename = "test2.txt"; //chmod($filename, 0777); $handle = fopen($filename, 'w+'); fwrite($handle, $test); fclose($handle);

    • ベストアンサー
    • PHP
  • phpでfopen()やfputs()が使えない

    CGIを使ってやりたいことがあり、PHPを独学で学び、レンタルサーバーで実験をしているのですが、fopen()やfputs()をつかうとエラーのようになります。 これがそれです。 http://pgc.sub.jp/form.php サーバーはlolipopというところを使っているのですが、こちらのほうが許可していないということでしょうか。 ソースは以下のようになります。 <html> <head> <title>実験掲示板</title> </head> <body> <h1>実験掲示板</h1> 書き込む内容を入力してください。<hr> <form name="form" action="./sample01.php" method="POST"> <input name="body" type="text" size="40"> <input type="submit" value="書込"><hr> </form> <?php $data = file("./data.txt"); for($i=0; $i<sizeof($data); $i++){ print "記事NO.${i}:${data[$i]}<br>\n<hr>"; } ?> </body> </html> <?php $body = $_REQUEST["body"]; $body = $body."\n"; ?><html> <head> <title>Sample01</title> </head> <body> <?php $fp = fopen("./data.txt","a"); fputs($fp,$body); fclose($fp); echo "書き込み完了<br>", "<a href=\"./form.php\">戻る</a>"; ?> </body> </html> プラス空のdata.txtファイル また、大学のPCを使用しているのですが、 http://localhost/ をすると 「Connection Failed」となってしまい、localhostでの実験ができません。これは大学側が禁止しているためでしょうか?研究室のものですので、IPアドレスはそれぞれに割り当てられているのですが。

    • ベストアンサー
    • PHP
  • バイナリファイルとバイナリ文字列の違い

    がわかりません。 例えば >http://e-words.jp/w/E38390E382A4E3838AE383AAE58897.html をみるとバイナリ列は1バイトを連ねたものだというらしいです。 つまり【文】という文字列を文字コードUTF-8でバイト配列化すると [1] => 230 [2] => 150 [3] => 135 となります。 (これはPHPでunpackかけましたが他の言語のGetBytes()などでも同じバイト値がでました。) この【文】という文字列はバイナリ列になるわけですよね? 例えばこの【文】という文字だけを保存したbun.txtというファイルはバイナリーファイルに なるのでしょうか? バイナリファイルの定義をみると >http://e-words.jp/w/E38390E382A4E3838AE383AAE38395E382A1E382A4E383AB.html 上記URLだと >文字コードの範囲などを考慮せずに作成されたファイル というのがバイナリファイルであるとあります。 つまりバイナリファイルとは 1バイト・・つまり8ビット(0~255)までの数値で表したものを連ねたもので なおかつ、文字コードなどの解釈を一切行わなずに、バイト値のみが記述されたデータと おもってもよいのでしょうか?

  • fwriteでの書き込み

    16進の数値をバイナリとしてファイルに書き込みたいのですが、 以下のようなプログラムで書き込んで、できたファイルを16進に 直して見てみると、  ff ff 00 00 aa ff 00 00 となっていて、途中に0000が入ってしまうのです。 16進に直して見たときに  ff ff aa ff cc 55 22 22 となるようにしたいのですが、どこがまちがっているのでしょうか? int main(void){ long *i; FILE *fp1; fp1=fopen("test.dat","w"); i[0]=0xffff; i[1]=0xffaa; i[2]=0x55cc; i[3]=0x2222; fwrite(i,2,4,fp1)); fclose(fp1); return 0; }