• 締切済み

symlinkの作り方

いつもお世話になっております。 シンボリックリンクを作成する事になりました。 構造は理解しているつもりですが、どのように作ったらいいか ご教授頂きたく質問させて頂いております。 [仕様] DBからデータを読みこんで、imgフィールドのファイル名を元にシンボリックリンクを作成 ・上記imgファイルの実態  document/img/img.jpg symlink(document/img/img.jpg,"link"); 単純に上記のように記述すればシンボリックリンクが作成されるのでしょうか、 自分の持っている書籍等ではシンボリックリンクの作成の仕方が載っておらず、 Webでも上記のように記述している事からそれだけでいいのか。。。 また上記で作成したシンボリックリンクを別のディレクトリの保存したい場合は、 通常ファイルを書き込む要領で行うのでしょうか。 お手数ですが、宜しくお願い致します。

  • prr4e
  • お礼率48% (66/136)
  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

http://php.net/manual/ja/function.symlink.php 上記あたりを実際に試してみては。こんな感じ: /tmp/foo> ls -l 合計 8 -rw-r--r-- 1 foo foo 102 2011-11-03 17:42 a.php -rw-r--r-- 1 foo foo 3 2011-11-03 17:45 uploads.php /tmp/foo> cat a.php <?php $target = 'uploads.php'; $link = 'uploads'; symlink($target, $link); echo readlink($link); ?> /tmp/foo> php a.php uploads.php /tmp/foo> ls -l 合計 8 -rw-r--r-- 1 foo foo 102 2011-11-03 17:42 a.php lrwxrwxrwx 1 foo foo 11 2011-11-03 17:45 uploads -> uploads.php -rw-r--r-- 1 foo foo 3 2011-11-03 17:45 uploads.php /tmp/foo> cat uploads OK /tmp/foo> mv uploads .. /tmp/foo> ls -l ../uploads lrwxrwxrwx 1 foo foo 11 2011-11-03 17:45 ../uploads -> uploads.php /tmp/foo> cat ../uploads cat: ../uploads: そのようなファイルやディレクトリはありません /tmp/foo>

prr4e
質問者

お礼

返信が遅くなり誠に申し訳ありません。 まだ他が忙しくて手を付けられていませんが、 今週末には実行してみます。 また宜しくお願い致します。

prr4e
質問者

補足

早速やってみました。 777で設定しているのですが、 Warning: symlink() [function.symlink]: Permission denied in /home/a.php on line 5 と権限でエラーとなります。 オーナーはとグループは自分のユーザとなっているからなんでしょうか。 すみません後教授お願い致します。

関連するQ&A

  • ホームページのディレクトリを見るには(緊急!!)

    たとえば、http://www.testsample.ne.jp/というサイトがあったとします。 ディレクトリーの中にhttp://www.testsample.ne.jp/img/test1.jpg http://www.testsample.ne.jp/img/test2.jpg http://www.testsample.ne.jp/img/test3.jpg とあったとして、 http://www.testsample.ne.jp/img/test1.jpg http://www.testsample.ne.jp/img/test3.jpg だけ、リンクを貼ってあってクリックをすれば見れるとします。しかし、http://www.testsample.ne.jp/img/test2.jpgは直接入力しないと見れません。 。URLに何か文字を加えるとそのディレクトリーが見えるとか、リンクはされてないが、アップロードされてるファイル(ディレクトリ)の中が見れるようなソフトってありますか?

  • FirefoxでonMouseOver/Outの動作がされません。。。

    全くの初心者で恐縮ですが、どうしても判らなかったので投稿させていただきます。 onMouseOver/Outで画像を変化させるごく一般的なスクリプトを使用したいのですが、外部jsファイルから読み込ませるとどうしてもFirefoxで動作されません。 IEでは動くようですが、IEの場合間違った記述でも動作してしまう事がある、との事…。 また、外部jsファイルに置かずhtmlの中にスクリプトを記載した場合はFirefoxでも問題なく動きました。 エラーコンソールで確認すると「syntax error」となっており、記述に間違いがあるのは確かなようなのですが、検索にかけてもそれらしいものにはヒットしませんでした。 以下、作成しているファイルからコピペです。 ◆jsファイル if (document.images) { var img1on = new Image(); img1on.src = "img/1on.jpg"; var img1off = new Image(); img1off.src = "img/1off.jpg"; } function On(name) { if (document.images) { document.images[name].src = eval(name + 'on.src'); } } function Off(name) { if (document.images) { document.images[name].src = eval(name + 'off.src'); } } ◆htmlファイル ・<head>内に<script type="text/javascript" src="script.js"></script>を記載。 ・<body>内の該当リンク部分に下記の記載。 <a href="index.html" onMouseOver="On('img1')" onMouseOut="Off('img1')"><img src="img/1off.jpg" id="img1" /></a> 尚、スクリプトの内容はほぼこちら↓のサイト様の丸写し状態です。 http://www.tagindex.com/javascript/link/change1.html jsファイルのパスに間違いが無いか等、自分で考えられる事は全て確認してみたのですがどうしても判らず、どなたか詳しい方のお知恵を拝借出来ればと思います。 よろしくお願いいたします。

  • パーミッションの考え方。

    サーバー(リモート): XREAのレンタルサーバー(Linux系) テストサーバー(ローカル): Windows版XAMPP (Version: 1.8.1) FTPソフト: FFFTP DB: SQLite3 ----- 使用するディレクトリ、ファイルのパーミッションの設定のしかたがよく分からず、 困っています。 使用するファイル、ディレクトリは以下の通りです。 phpスクリプトファイル(3種類) (1)全ての人からウェブブラウザ経由でアクセスされて動く --- a1 (2)phpスクリプトから呼ばれた時にのみ使われる --- a2 (3)管理者のみがアクセス --- a3 DBファイル(.sqlite3) --- b1 画像ファイル --- c1 <位置関係(Document Root を基準に書かせてもらいます。)> Document Root --- a1.php Document Root --- sub --- a2.php Document Root --- admin --- a3.php Document Root --- db --- b1.sqlite3 Document Root --- img --- c1.jpg 上記のような場合、 (ディレクトリ) sub admin db img (ファイル) a1.php a2.php a3.php b1.sqlite3 c1.jpg これら、4つのディレクトリと、5つのファイルは、 それぞれ、具体的には、どのようにパーミッションの設定をしたらよろしいでしょうか。 (考え方も含め、ご教示頂けますと助かります。) それと、 パーミッションの話で出てきます、 「自分」、「グループ」、「他人」 とは、一般的に、 レンタルサーバー(特に知りたいのはXREAの場合。)においては、 それぞれ具体的には誰を指しますでしょうか? (「グループ」に属すユーザというのは誰のことなのでしょうか?  もし存在しないという場合には、「グループ」のユーザの権限は、  すべて「0」でも大丈夫でしょうか。) また、細かい話にはなりますが、 あるユーザに、DBファイルへの書き込み権限を与え、その一方で、 そのDBファイルへの書き込みを実際に実行するPHPスクリプトファイルの 実行権限を与えない、なんていう場合には事実上、 そのユーザは、「そのDBファイルへの書き込みはできない」 ということになりますでしょうか。 また、phpファイルを「読む」 と、「実行する」では、 動作上、どのような違いがあるのでしょうか。 phpファイルを「読むだけ」というのが、 どのような動作なのか、よく分からなかったもので。。。 どうぞ、よろしくお願い致します。 (レスポンスは確実に致します。)

    • ベストアンサー
    • PHP
  • 外部画像のランダムでの読み込み

    外部から読み込むjpgファイルをランダムで指定したいと思っています。 現状メインのタイムラインに以下のスクリプトを記述して外部からのjpgファイルを読み込んでいます。 loader1.load(new URLRequest("img01/1.jpg")); 読み込みは問題無く出来ましたので次の段階として 上記で指定したjpgファイルを以下のように異なる階層の画像も含め アクセス時毎にランダムで表示したいと考えております。 ・img01/1.jpg ・img01/2.jpg ・img01/3.jpg ・img02/1.jpg ・img02/2.jpg ・img02/3.jpg ・img03/1.jpg ・img03/2.jpg ・img03/3.jpg このような状況でどのようにスクリプトを記述してよいのか分からず四苦八苦しております。 どなたかおわかりになる方がおられましたらお力を貸していただけないでしょうか。 当方はCS5、AS3、Mac環境となります。 宜しくお願い申し上げます。

    • ベストアンサー
    • Flash
  • リンクについて

    こんばんわ、gamaraと申します。 実はHP作成中なのですが、リンクするときのファイル名は”半角かな”でないといけないのでしょうか。 例えば <a href="ぬいぐるみ/かえる.JPG" target="_blank"> <img src="ぬいぐるみ/かえる.JPG" alt="かえる" width="130" height="160"> 上記の様な記述ではリンクされないのでしょうか。 自分のPCでの動作確認ではリンクOKなのですが、サーバーに転送した際に表示されないとの噂を聞いたもので質問しました。 ちなみに、OSはWindowsMEです。 教えてください。お願いします。

  • jQuery膨らむボタン。同一ウィンドウにリンク

    http://jquery.malsup.com/hoverpulse/anchor.html ↑これを参考にjQueryでマウスを上にのせると膨らむボタンを作ったのですがクリックするとリンク先が別タブで開かれてしまいます。 同一のウィンドウ(HTMLでいうTARGET="_self")でリンク先を表示させたいのですがどうしたらいいですか? $(document).ready(function() { $('div.thumb img').hoverpulse().each(function() { var $img = $(this); var link = $img.attr('data-link'); $img.attr('title','Goto: ' + link); $img.click(function() { window.open(link); return false; }); }); }); <div id="thumbs"><div class="thumb"> <img src="img.jpg" data-link="http://google.com" /> </div></div>

  • サムネイル画像をオンマウスで拡大表示してそれぞれの画像にリンクを指定する記述について

    お世話になります。 JavaScript初心者ですが、フリーソースなどを見つつ勉強しております。 下記のようなhtmlに【js00】と【js01】を読み込んでサムネイル画像をオンマウス時に上部に拡大表示させているのですが、サムネイル画像と拡大表示画像の両方に指定リンクをつけようとしています。 記述4の【js02】のような画像をランダム表示して指定リンクをつけるScriptは発見できたのですが、これを記述1+2+3と組み合わせられず、作業が進まなくなってしまいました…。 フリーソースを応用しようとしすぎて、遠回りな記述になっているかもしれませんが、もし分かる方がいらっしゃったら教えて頂けないでしょうか? ■記述1(html) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <SCRIPT language="JavaScript" type ="text/javascript" src="http://test.com/00.js"> </SCRIPT> </head> <body> <table width="400"> <a href="#" target="_blank"> <img src="http://test.com/img/01.jpg" name="imgSample"></a> <div> <div> <script language="JavaScript" type ="text/javascript" src="http://test.com/01.js"> </script> </body> </html> ■記述2(js00) //画像の名前を配列に代入していきます。 strPictureName = new Array("http://test.com/img/01.jpg","http://test.com/img/02.jpg","http://test.com/img/03.jpg","http://test.com/img/04.jpg","http://test.com/img/05.jpg","http://test.com/img/06.jpg","http://test.com/img/07.jpg","http://test.com/img/08.jpg"); function SetPicture(nVal) { document.imgSample.src = strPictureName[nVal]; } ■記述3(js01) //サムネイル画像をオンマウスで拡大表示 img_num="8"; if( img_num == "" ){img_num='5';} for ( cnt = 1 ; cnt <= img_num ; cnt++ ) { cnt2 = cnt-1; document.write( "<a href=\"#\" onMouseOver=\"SetPicture("+cnt2+");\" class=\"menu\"><img src=\""http://test.com/0"+cnt+".jpg\" width=\"100\" height=\"86\"></a>" ) ; } ■記述4(js02) // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "http://www.yahoo.co.jp/"; jmp[1] = "http://bb.yahoo.co.jp/"; jmp[2] = "http://www.yahoo.co.jp/"; jmp[3] = "http://auctions.yahoo.co.jp/"; jmp[4] = "http://aeu.jp/cs/"; jmp[5] = "http://google.com/"; jmp[6] = "http://google.co.jp/"; jmp[7] = "http://news.yahoo.co.jp/"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "http://test.com/01.jpg"; img[1] = "http://test.com/02.jpg"; img[2] = "http://test.com/03.jpg"; img[3] = "http://test.com/04.jpg"; img[4] = "http://test.com/05.jpg"; img[5] = "http://test.com/06.jpg"; img[6] = "http://test.com/07.jpg"; img[7] = "http://test.com/08.jpg"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>"); ■完成イメージ   | ̄ ̄ ̄ ̄ ̄ ̄ ̄|   |  拡大画像  |   |_______|   | ̄|| ̄|| ̄|| ̄|   |_||_||_||_|←サムネイル ・サムネイル画像をオンマウスで拡大画像を表示 ・サムネイル画像、拡大画像それぞれに指定リンクを入れる ・可能であればリンクページは target="_blank" で開きたい 以上がご質問内容です。 初心者で大変恐縮ですが、どうぞよろしくお願いいたします。

  • [Linux]inodeが表示されないファイル

    お世話になります。 以前にも同じ内容で質問させてもらいましたが、 あれから進展がないためもう一度質問させてください。 <事の発端> あるとき以下のファイルがSDカード上に存在していることを確認。 しかしこれらファイルがどうにもこうにも削除できない問題が発生。 ※どうやらGoogleのハングアウトを使って写真を撮ったかダウンロードしたか  共有したかしたときにこのような事象が発生することがある模様 ↓ 問題のファイル IMG_20141101_202431:nopm:.jpg IMG_20141013_194937:nopm:.jpg IMG_20140802_194730:nopm:.jpg IMG_20141222_214754:nopm:.jpg IMG_20150102_194604:nopm:.jpg ◆Windowsで読み込んで… × 削除 × コマンドで削除 × 強力な削除ソフトを使用しての削除 × リネーム × コマンドでリネーム × 強力なリネームソフトを使用してのリネーム × SDカードの強制フォーマット ◆LinuxOs(ubuntu)で読み込んで… × 上記と同じ(ソフト使用以外) ◆スマホに読み込んで… × リネームアプリを使用してのリネーム  →Odd character renamer   https://play.google.com/store/apps/details?id=net.flordal.oskar.oddcharacterrenamer&hl=ja   というアプリを使ってみましたがファイルを選択できない…。   ※特定のフォルダのみが対象となっているっぽい?   ちゃんとやり方があるのかわかりませんが、これで問題のファイルを読み込めれば   うまくいきそうなのに… とにかく削除さえ出来れば言うこと無いのですが ただただ何もできない…。 調べるとLinuxOS上であれば不正なファイルを削除出来そうだったので 色々とチャレンジしているのですが、やはり削除できない…。 以下のようにi-nodeという番号を調べて削除してみようと試みましたが、 正常なファイルはi-node番号の他にも情報が表示されているのに対し、 不正なファイルの情報はすべて"?"と表示されている始末…。 ※そもそもファイルと認識されていない風? ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ user@ubuntu:/mnt/hgfs/DCIM/Camera$ ls -li ls: 'IMG_20141101_202431:nopm:.jpg' にアクセスできません: そのようなファイルやディレクトリはありません ls: 'IMG_20141013_194937:nopm:.jpg' にアクセスできません: そのようなファイルやディレクトリはありません ls: 'IMG_20140802_194730:nopm:.jpg' にアクセスできません: そのようなファイルやディレクトリはありません ls: 'IMG_20141222_214754:nopm:.jpg' にアクセスできません: そのようなファイルやディレクトリはありません ls: 'IMG_20150102_194604:nopm:.jpg' にアクセスできません: そのようなファイルやディレクトリはありません 合計 1862 9 -rwxrwxrwx 1 root root 1905965 Apr 5 2015 1390129354814.jpg ? -????????? ? ? ? ? ? IMG_20140802_194730:nopm:.jpg ? -????????? ? ? ? ? ? IMG_20141013_194937:nopm:.jpg ? -????????? ? ? ? ? ? IMG_20141101_202431:nopm:.jpg ? -????????? ? ? ? ? ? IMG_20141222_214754:nopm:.jpg ? -????????? ? ? ? ? ? IMG_20150102_194604:nopm:.jpg ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ ここまでくると打つ手なしでしょうか? SDカードを真っさらにしてしまっても全然いいんですが、 このおかしなファイルがあるせいでそれすら出来ないというのも…。 たかだかファイル1つ(1つじゃないですけど)のためにSDカードを諦めるのも癪なのです。 何かいい方法ありますでしょうか。 ご教示のほどよろしくお願いします。

  • カレントディレクトリについて

    カレントディレクトリを表す(.)は必要なんでしょうか? たとえば、HTMLで画像を読み込む際: <img src="./img/aaa.jpg"> <img src="img/aaa.jpg"> 上記はどちらも同じ結果にはなりますが、どちらが良いのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • リンク先を動的に変更する

    簡単な仕様を考えて試行錯誤しながら勉強している ジャバスクリプ超初心者です どなたか宜しくお願いします <a href="○○○○○○○○○"><img src="photo01.jpg" width="200" height="150" border="0" id="change" name="change" /></a> のリンク部分のアドレスを動的に変更したいと思っています 画像とリンク要素両方を「document.write」で書き出し変数を与えてあげれば 出来る事はわかっているのですが 今回は自分の仕様で どこまでJSでできるものなのか知りたい事もありまして どうしても指定位置のリンク部分のアドレスだけを変更したいと思っています。 下記方法 document.link[インデックス].hrefで取得できるのですが この方法だと何番目のリンクかといちいち数えて数字を指定しなきゃいけない為リンク数が多くなった場合には ちょっと現実的ではありません そこで例えば指定位置の画像情報を取得するみたいに 「document.ID名.src」みたいに指定箇所の「a」要素の「href」を指定する事はできますでしょうか? ちなみに同じようにリンクに対してもやってみたのですがダメでした 下記が現在のソースになります。 宜しくお願いします。 ============================================================= JavaScript ============================================================= function img_chage(no){ img = new Array(); img[0] = "photo01_ov.jpg"; img[1] = "photo02_ov.jpg"; url = new Array(); url[0] = "http://www.google.co.jp"; url[1] = "http://www.goo.ne.jp"; document.change.src = img[no]; document.links[0].href = url[no]; } ============================================================= HTML ============================================================= <a href="http://www.yahoo.co.jp"><img src="photo01.jpg" width="200" height="150" border="0" id="change" name="change" /></a> <br /> <img src="photo01_ov.jpg" width="100" height="75" onMouseOver="img_chage(0)" /> <img src="photo02_ov.jpg" width="100" height="75" onMouseOver="img_chage(1)" />

専門家に質問してみよう