• ベストアンサー

ファイルアップロード時にファイル名の絶対パスを取得を教えてください

ファイルアップロード時にクライアント側のファイル名の絶対パスを取得する方法を教えてください。 $_FILESには絶対パスでなくファイル名だけしか入っていないのですがこの変数からは取得できないのでしょうか? よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

4.2.xでは、隠れファンクションで取得できたが、 4.3.x以降、閉ざされてしまった。 サーバーがApacheなら、Apache系の関数で

nicname
質問者

お礼

回答ありがとうございます。 phpのバージョンが4.3.2なので僕の環境では無理みたいです。 apacheの関数でできるか探して見ます。 ありがとうございます。

関連するQ&A

  • アップロードしたファイルの絶対パス

    画像がアップロードできる掲示板をつくっています。 内容を記入して投稿する前にプレビューできるようにしたのですが ファイルの絶対パス(c:\なんとかかんとか\gazou.jpgのようなアドレス)が取得でず困っています。 まずフォームからの内容を $file_name= $_FILES['sendfile']['name']; で受け取ってみました。 その後 $_SESSION['sendfile'] = $file_name; という風にセッションに入れて別の確認ページに 飛ばすという形にしてみたのですが、 こうするとファイル名だけが取得できました。 絶対パスを取得するには「realpath()」を使うと書籍などにも書かれていたので $file_name = realpath($_FILES['sendfile']['name']); としたり $_SESSION['sendfile'] = realpath($file_name); としたりしてみたのですが どうもうまく行きませんでした。 根本的に使い方がまちがっているのでしょうか? アドバイスよろしくおねがいします。

    • ベストアンサー
    • PHP
  • ファイルのアップロードでパスとファイル名を固定にしたい

    現在あるWebサイトを構築中で、HPよりファイルのダウンロードと アップロードが行えるようにしようとしています。 特にアップロード時にはクライアントにある固定のフォルダからこれも 固定の名前のファイルをサーバーにアップロードしようと思うのですが フォルダパスとファイル名をどのように渡せば良いかがわかりません。 何方か方法をご存知ないでしょうか? 通常ですと、手動でファイルを指定させて、そのフォルダパスとファイル名で アップロードするような造りとなると思いますが、それをさせずに固定にしたい と思っています。 よろしくお願いいたします。

  • 秀丸マクロ ファイルのパス取得方法

    秀丸マクロでファイルのパスを取得する方法を教えてください。 filenameでフルパスを取得できるのは分かったのですが、ファイル名の無いパスを取得したいです。 filenameからbasenameを使って、ファイル名の部分を消す方法で出来ればと思ったのですが、マクロ内の文字列変数の置換方法が分かりませんでした。 すみませんがよろしくお願いします。

  • 現在使用しているJAVAファイルのあるパス名を取得する方法

    JAVAアプレットで、FileInputStreamを使っていまして、読み込むファイル を絶対パスで指定しています。 ※なぜか絶対パスでないと、ファイルを読み込まないのでそうしています。 それで絶対パスで指定してあるわけですが、このプログラムをいずれ色ん なマシンに入れ込む予定ですが、マシンの環境によってはCドライブ以外 にインストールすることも考えられます。 その為、絶対パスできってあるため、Dドライブなど、Cドライブ以外にイ ンストールされた場合用に、各プログラムを手直ししないといけません。 出来れば、その手間を省きたいと思っています。 今考えているのは、対象となるファイル(JAVAファイル又はクラスファイル) のパス名を取得して、そこからsubstringで変数に入れ込んだ値の先頭から 3文字を取得してドライブ名を取得出来るようにして、最終的に取り込む ファイルの先頭に、取得したドライブ名を入れ込んでやればいけるのかな? と思っています。 それで肝心の、パス名を取得する方法ってありますでしょうか? ちなみにgetPathと言うものがありますが、やってみた所うまくいきません でした。やり方が悪かったのかな? 簡単ですが、以下のような感じでgetPathを使ってみました。 public class Test extends Applet{ Test test = new Test(); String Dire; public void init(){ Dire = test.getPath(); } }

    • ベストアンサー
    • Java
  • Visual Basic 6.0における起動ファイル名(絶対パス)の取得方法

    MS-dos(PC-9801用) では、Int 2f 1902(INT 23, 24を含む)等を直接参照することで command.com の所在がわかり、また、特定の作業領域を直接参照することで起動時のコマンドを取得できます。 ここから、絶対パスが取得できる場合もありますが、相対パスの使用、Path環境変数の使用等でできない場合でも起動タスクの環境変数領域を参照することで、起動タスクがどのような状態で外部記憶装置に保存されているかが参照できました。 これらは、DEF SEG, PEEK の使用を前提としていますが、Visual Basic では関係情報がありません。Visual Basic での取得方法をお知らせください。 Visual C++6 等 Visual Studio 6.0 に含まれる言語でもかまいませんが、MS-Basic からの移植が現在の主体なので、Visual Basic から参照するために必要な参照情報に関する内容もお知らせください。VC関係の場合は、ヘルプファイル名と適当なキーワードをお知らせ願えれば幸いです。

  • ファイルアップロード時のローカルパスを取得する方法

    宜しくお願い致します。 PHPでファイルアップロードする際に、参照ボタンでファイルを選択すると、ファイルまでのローカルパスが自動的にフォームに入ります。 このパスを利用する方法はないでしょうか? PHPのバージョンは4.3.11です。 PHP3までは、パスの取得が可能だった様なのですが、PHP4以降は、ファイル名の取得までしか出来なくなっている様です。 大変不躾なお願い事ですが、良い方法をご存知であれば、是非ご教授下さい。 何卒、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • シェルスクリプトでの絶対パスの取得

    UNIXのシェルスクリプトで、引数として渡された相対パスから絶対パスを取得するには、そうすればよいでしょうか。 cd 相対パス 変数=`pwd` これが一番普通のやり方でしょうか。 change directory しなくてもできる方法がないのかなあと思ったもので。

  • 絶対パス名からファイル名を取り出して、変数に格納するバッチ

    DOSコマンドバッチで定義した変数"fullpath"に絶対フルパス名が格納されているとします。 この変数からファイル名だけを抽出して別の変数"filenae"に格納したいのですが方法がわかりません。 1. set fullpath = "C:\test\test.c" 2. ----ここの部分をどのように処理すれば?------ 3. set filename = fullpathから抽出したファイル名 私がやってみた方法として、for文とdir /bを組み合わせてみたのですが for %a in ( dir /b c:\test\test.c ) do set filename =%a 本来dir /bを実行するとファイル名のみが表示されるのに、For文をかますと絶対フルパスでfilenameに値が格納されてしまいます。 dir /b c:\test\test.cの結果を直接filename変数に格納できれば解決するのですが、コマンド結果を変数に格納するにはFor文を使わないとだめなんですよね? なにかよい方法はないでしょうか?

  • 指定フォルダの絶対パス取得

    初歩的なことですが教えてください。 VB.netにて、指定したフォルダの相対パスに対する絶対パスの取得を行いたいのですが、良い方法が見つかりません。 「Path.GetFullPath メソッド」を使用して見ましたが、存在しないパス「例:\A\」を指定すると、勝手に「例:C:\A\」のように絶対パスが割り付けられてしまいます。実際に存在するパスを検索して取得することは出来ないのでしょうか? 例:「ABC」というフォルダが「C:\program files」や「D:\」などに存在するという結果です。

  • 表示されているファイルの完全パスの取得

    Windows上で、最前面に表示されているOfficeファイルの 完全パスを取得したいのですが、方法がわかりません。 GetForegroundWindowにてハンドルを取得し、 GetWindowThreadProcessId → EnumProcessModules → GetModuleFileNameExで、取得できるのは当然のことながら、 起動したOfficeアプリの完全パス(C:\Program Files~\POWERPNT.EXE等)に なってしまいます。 取得したいのは、アプリの完全パスではなく、 ファイル自体の完全パス(C:\Documents and Setting~新規ファイル.ppt等)なんですが、 どうにかして、最前面に表示されているウィンドウ(Officeアプリ)から 表示しているファイル自体の完全パスを取得する方法はないでしょうか? よろしくお願いします。 開発環境:Visual Studio2008 / C++プロジェクト

専門家に質問してみよう