![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
画像がアップロードできる掲示板をつくっています。
内容を記入して投稿する前にプレビューできるようにしたのですが
ファイルの絶対パス(c:\なんとかかんとか\gazou.jpgのようなアドレス)が取得でず困っています。
まずフォームからの内容を
$file_name= $_FILES['sendfile']['name'];
で受け取ってみました。
その後
$_SESSION['sendfile'] = $file_name;
という風にセッションに入れて別の確認ページに
飛ばすという形にしてみたのですが、
こうするとファイル名だけが取得できました。
絶対パスを取得するには「realpath()」を使うと書籍などにも書かれていたので
$file_name = realpath($_FILES['sendfile']['name']);
としたり
$_SESSION['sendfile'] = realpath($file_name);
としたりしてみたのですが
どうもうまく行きませんでした。
根本的に使い方がまちがっているのでしょうか?
アドバイスよろしくおねがいします。
No.1ベストアンサー
- 回答日時:
こんにちは。
http://fol.axisz.jp/php/man/php/features.file-up …
にある内容しかサーバ側のスクリプトはわかりません。
JavaScriptにてローカル側の選択したファイルパスをサーバ側に送ることも出来ますが、お勧めできません。
(JavaScriptが使えない場合は送られてきませんし、ローカル側のフォルダ構成等を見られるのは(見ないとしても)あまり良い気分ではありません。
No.3
- 回答日時:
私も日本語のファイル名をshift jisで受け取るときに”表”などがディレクトリセパレータと認識されるためファイル名をフルパスで取得しようとあれこれやったことがあります。
結局multipart/form-dataの場合は生のpostデータが受け取れないためあきらめました。
*php3なら標準でファイル名がフルパスになっていたと思いますが今更php3には戻れないですし。
No.2
- 回答日時:
根本的なところから。
アップロードしたファイルは、テンポラリフォルダにテンポラリ名で保存されます。
テンポラリフォルダはphp.iniで
upload_tmp_dir = string
で指定されたものです。デフォルトはNULLで、UNIX系の場合は/tmp/になっています。
$_FILES[sendfile][tmp_name]
として臨時的に保存されます。そのファイルを自分の指定するファイルにコピー、又は移動させる必要があります。
すなわち、
$uploadfile = "格納するフォルダ".$_FILES['sendfile']['name'];
if (move_uploaded_file($_FILES[sendfile][tmp_name], $uploadfile)) {
echo "{$uploadfile}のアップロード成功";
}
となります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初心者です。入力フォームのp...
-
php クラス
-
連想配列を複数条件で比較して...
-
VBA で、スペースを含むファイ...
-
プログラミングC++のmapについて
-
functionとclassの使い分け
-
if function PHP
-
C# 同じ処理をまとめたい
-
name属性が全角の場合・・・
-
サブフォルダ内の全てのテキス...
-
PHPのエラー対処法を教えてくだ...
-
WordのIDataObject::GetData呼...
-
POSTの項目に追加
-
PHPとjavascriptの併用
-
記号()が混ざった正規表現について
-
これに間違いはありますか?
-
フォームで送られてきたメール...
-
テキストボックスの値を取得したい
-
アップロードファイル名の文字化け
-
if文のなかで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
POSTの項目に追加
-
ファイル名を変更してアップロ...
-
PHPで入力フォームでデータを確...
-
PHP MySql 画像を取得
-
foreachがうまく動かない
-
PHPからHTMLへの変数の受け...
-
phpで変数を使ってcopyできない
-
サブフォルダ内の全てのテキス...
-
UPDATEできない
-
php+mysqlでの重複チェックにつ...
-
phpでショッピングカート機能を...
-
fputcsv()で1レコード1行になる...
-
配列の値
-
openCVのトラックバーについて
-
if文のなかで
-
sqlite文字列を格納、出力
-
$a = ( $b == $c ) ? $d、 この...
-
$_REQUESTの意味を教えて下さい
おすすめ情報