質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

2回答

938閲覧

XAMMPでファイルの作成が出来ません。

HiruLow

総合スコア55

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2018/01/02 19:20

$f = fopen("file.txt", 'w');

とした場合正常にファイルが作られるのですが
以下の場合エラーがでます。

$name="ABC"; $f = fopen($name.".txt", 'w');
Warning: fopen( ABC .txt): failed to open stream: No such file or directory in ... on line 51

よくみるとエラー時に宣言した名前の両端に半角スペースが有ったのでそれが原因かと思い以下のようにしたのですがそれでも上記と同じSpace表記でエラーが出てしまいます。

$name="ABC"; $name=trim($name.".txt"); $f = fopen($name.".txt", 'w');

原因が解りません

アドバイスお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

不思議な現象ですね。

php

1$name="ABC"; 2$f = fopen($name.".txt", 'w');

で、 ABC .txtとなる理由が非常に気になります。

修正後のものの問題点は、.txtが重複してしまっているからです。

php

1$name="ABC"; 2$name=trim($name.".txt");//ABC.txt 3$f = fopen($name.".txt", 'w');//ABC.txt.txt

以下のようなコードで試してみては?

php

1$name="ABC"; 2$name=trim($name).".txt";//ABC.txt 3echo $name; 4$f = fopen($name, 'w');//ABC.txt

投稿2018/01/03 02:03

編集2018/01/03 11:36
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HiruLow

2018/01/03 11:33

御回答方法を取ったら解決致しました!ありがとうございます。
退会済みユーザー

退会済みユーザー

2018/01/03 11:42

普通に考えると、trim 必要ないんですけどね^^;
guest

0

trim()は文字列の両端にある空白文字を取り除くものなので、".txt"と結合する前に実行してください。

以下のようにしたら期待する動作になるでしょうか?

php

1$name = " ABC "; 2$f = fopen(trim($name).".txt", 'w');

投稿2018/01/03 01:31

mooey

総合スコア200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問