![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
画像がアップロードできる掲示板をつくっています。
内容を記入して投稿する前にプレビューできるようにしたのですが
ファイルの絶対パス(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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpで変数を使ってcopyできない
-
重複を防ぐ記述について教えて...
-
PHPのリロード時の処理
-
foreachがうまく動かない
-
PHPで部分一致検索をしたい
-
多次元配列で特定キーが重複し...
-
サブフォルダ内の全てのテキス...
-
name属性が全角の場合・・・
-
laravelを利用してコントロール...
-
テキストボックスに初期値を入れる
-
POSTの値を配列として受け取っ...
-
CodeIgniter/set_value()
-
DBから読み込んだ買い物リスト...
-
画面が更新されてもチェックボ...
-
PHP ボタンが押されたら処理を...
-
フォーム INPUTの文字化け対策...
-
フォームの送信ボタンが押され...
-
2つのプルダウンメニュから受け...
-
PHPの質問:フォームから受け取...
-
複数のラジオボタングループを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
アップロードファイル名の文字化け
-
ファイル名を変更してアップロ...
-
サブフォルダ内の全てのテキス...
-
phpで変数を使ってcopyできない
-
PHPからHTMLへの変数の受け...
-
POSTの項目に追加
-
PHPで入力フォームでデータを確...
-
openCVのトラックバーについて
-
PHP5でsimple_xml_load_fileす...
-
scanfでの読み込み文字数制限
-
テンプレートを実現するために
-
PHP MySql 画像を取得
-
(Excel)VBA ファイルパスからフ...
-
テキストボックスの値を取得したい
-
プルダウンでデータ送信後、値...
-
WordのIDataObject::GetData呼...
-
PDOのprepareでLIKEの部分一致...
-
MySQL,PHPのリロードによる二重...
おすすめ情報