基本的な質問かもしれず申し訳ないのですが、どうしてもできないので質問します。
以下のコードでファイルコピーを試みているのですがうまくいきません。
$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のように変数にするとうまくいきません。//を\\\\\とかに変えたりしてみたのですがだめでした。
どなたか教えてください。宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> $store_file をprintで実際に書き出してみると
> //***.**.**.***/data/\phpdata/copyfile.xlsとなり問題なそうでした。
これは、
> 直接'//***.**.**.**/data/copyfile.xls'のようにパスを入力する
と異なるパスになっていますが、それれが影響しているということはないでしょうか?
> また、PHPはwarrningのようなエラーは特に出力しません。
PHPのエラー出力が抑制されているということはないでしょうか?
error_reporting(E_ALL);
を挿入してエラーが出るようにならないでしょうか。
あるいはWEBサーバーのエラーログを見るか。
とかですかね。
この回答への補足
//***.**.**.***/data/\phpdata/copyfile.xls
//***.**.**.**/data/copyfile.xls
の違いは私のタイプミスでした。すみません。
error_reporting(E_ALL);
を挿入してみましたが、NOTICEはでますがWARRNINGはでませんでした。
たまたま以下のコードを他サイトでみつけて試してみたところ動きました。とりあえず目的のことができそうなのでこれでいいのかなと思っています。
// ファイルを保存するディレクトリ
$save_dir = "//***.**.**.**/data/";
$enc_disp = "EUC-JP"; // ブラウザ表示文字コード
$enc_file = "SJIS"; // 保存ファイル名文字コード
// ファイルがアップロードされたものなら処理をする
if (is_uploaded_file(@$_FILES["upfile"]["tmp_name"])) {
// ファイル名の文字コードを変換する
$file_name = $save_dir.$_FILES["upfile"]["name"];
$det_enc = mb_detect_encoding($string, $enc_disp . ", " . $enc_file);
if ($det_enc and $det_enc != $enc_file) {
$file_name = mb_convert_encoding($file_name, $enc_file, $det_enc);
}
// テンポラリファイルを保存ディレクトリにコピー
copy($_FILES["upfile"]["tmp_name"], $file_name);
echo "<p>ファイルアップロード完了";
echo "<p>ファイル名:".$_FILES["upfile"]["name"];
}
?>
<form enctype="multipart/form-data"
action="<?php echo $_SERVER["PHP_SELF"]?>" method="post">
<input type="file" name="upfile">
<input type="submit" value="アップロードする">
</form>
No.1
- 回答日時:
$store_file = "//***.**.**.**/data/" . $_FILES['upfile']['name'];
とした場合、$store_file は実際にどのような内容になっているのか確認しましたか?
また、copyの際にphpはどんなエラーを出力しました?
ちなみに、なぜ一時ファイルをcopyしようとされているのかわかりませんが、セキュリティ上、move_uploaded_fileを使うべきです。
少なくとも、copyの前にis_uploaded_fileでチェックしましょう。
※質問に書いてないだけで実際のコードには書いてあるかもしれませんけど。
参考URL:http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/php/ …
この回答への補足
早々に回答を頂きながら返答が遅くなりすみません。
転送メールで本回答をみたため、PC操作できる環境におりません。
大変申し訳ないのですが、明後日に確認できますので、また追って返答いたします。
連絡がおそくなりすみません。
$store_file をprintで実際に書き出してみると
//***.**.**.***/data/\phpdata/copyfile.xlsとなり問題なそうでした。
また、PHPはwarrningのようなエラーは特に出力しません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP 配列について教えて下さい。 2 2023/03/06 10:29
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPからHTMLへの変数の受け...
-
複数条件での検索について教え...
-
PHP データベース データ更新
-
ファイル名を変更してアップロ...
-
phpで読み込んだcsvが文字化け...
-
PHP FTPサーバへの画像アップロ...
-
複数のラジオボタングループを...
-
phpの問題でIF文を用いて、成績...
-
連動させたいセレクトボックス...
-
PHPのエラーの解消法について教...
-
フォーム送信後の更新ボタンで...
-
phpで、フォームのラジオボタン...
-
$_SERVER['REQUEST_METHOD']と"...
-
サーバ上でGETはできるがPOSTが...
-
フォームへの前回入力値をクリ...
-
phpでの複数選択チェックボック...
-
POSTを使わずに値を渡す方法
-
smartyでチェックボックスをチ...
-
PHPで受け取ったパラメータを別...
-
Mysqlの配列のデータをチェック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
PHPからHTMLへの変数の受け...
-
PHP データベース データ更新
-
phpで変数を使ってcopyできない
-
POSTの項目に追加
-
phpで掲示板を作りたい
-
重複を防ぐ記述について教えて...
-
php、sqlite3にデーター追加で...
-
CakePHP テーブル名カラム名の...
-
プログラミングC++のmapについて
-
変数のパターン処理パート3
-
openCVのトラックバーについて
-
fputcsv()で1レコード1行になる...
-
$_SESSIONに渡した後はそのまま...
-
php で画面にコードが表示され...
-
アップロードファイル名の文字化け
-
XMLをツリー形式で表示
-
scanfでの読み込み文字数制限
-
PHP5でsimple_xml_load_fileす...
おすすめ情報