MediaWiki1.2で画像が表示されない問題の解決方法とは?

このQ&Aのポイント
  • MediaWiki1.2を利用してサイト構築しようとしていますが、画像が表示されない問題に遭遇しています。
  • 画像をアップロードするとフォルダが自動生成されますが、そのフォルダの属性が700であるため、画像が表示されません。
  • 自動生成されるフォルダの属性を755に変更する方法はあるのでしょうか?
回答を見る
  • ベストアンサー

フォルダの属性について

MediaWiki1.2を利用してサイト構築しようとしていますがトラブルが発生しています。 MediaWikiインストールは成功しました。 画像アップロードそのものは可能なのですが、表示されません。 画像に直リンクすると Error403 You don't have permission to access /images/2/2a/Test7.jpg on this server. というメッセージが出てきます。 画像をアップロードするとフォルダを自動生成してくれるのですが、そのフォルダ(images/2やimages/2/2a)の属性が700になっていました。すべて755にすると画像は表示されます。 自動生成されるフォルダの属性が自動的に755になる方法はありませんでしょうか。 ※無料サーバー「あいらんど」を使用、ImageMagickは入っていませんでした。

  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • thezen5
  • ベストアンサー率84% (27/32)
回答No.1

imagesは755になってますか? それでだめならmkdirでつくればいいのでは? $idir='/images/2/2a'; if(!file_exists($idir)){mkdir($idir,0775,true);}

partita
質問者

補足

chmodで755に変更でき解決しました。 しかし、関連する新たな問題が発生したので、別途投稿で質問させていただきます。

その他の回答 (1)

  • thezen5
  • ベストアンサー率84% (27/32)
回答No.2

mediawikiのプログラム自体をあまりいじりたくない場合、プログラム中のアップロード保存処理前にumaskを使う手もありますね。 umask(0022);

参考URL:
http://php.net/manual/ja/function.umask.php
partita
質問者

補足

>mediawikiのプログラム自体をあまりいじりたくない場合 多少はいじっても構いません。 ちなみに、サーバーのパーミッション仕様が以下の通りでした。 .html .jpg(静的ファイル) -> 644(-rw-r--r--) .php .cgi(動的ファイル) -> 700(-rwx------) .htaccess -> 704(-rwx---r--) 新規作成フォルダ(ディレクトリ) -> 701(-rwx-----x)

関連するQ&A

  • フォルダの属性について 別途

    MediaWiki1.2でサイト作成中です。 画像(test.jpg)をアップロードするとフォルダが2つ自動作成されます。 例:サイトルート/images/5/2a/test.jpg imagesフォルダはデフォルトで存在するもので、「5」「2a」が自動で作成されます。 前回、「5」「2a」のフォルダのパーミッションが644になって不具合が出てしまうので質問しました。 chmodを利用すると、「2a」フォルダだけは777にすることはできました。 ディレクトリ作成と思われるソース抜粋は以下の通り。 /** * Make directory, and make all parent directories if they don't exist * * @param $dir String: full path to directory to create * @param $mode Integer: chmod value to use, default is $wgDirectoryMode * @param $caller String: optional caller param for debugging. * @return bool */ function wfMkdirParents( $dir, $mode = 0777, $caller = null ) { global $wgDirectoryMode; if ( FileBackend::isStoragePath( $dir ) ) { // sanity throw new MWException( __FUNCTION__ . " given storage path '$dir'." ); } if ( !is_null( $caller ) ) { wfDebug( "$caller: called wfMkdirParents($dir)\n" ); } if( strval( $dir ) === '' || file_exists( $dir ) ) { return true; } $dir = str_replace( array( '\\', '/' ), DIRECTORY_SEPARATOR, $dir ); if ( is_null( $mode ) ) { $mode = $wgDirectoryMode; } // Turn off the normal warning, we're doing our own below wfSuppressWarnings(); $ok = mkdir( $dir, $mode, true ); // PHP5 <3 chmod($dir,0777); wfRestoreWarnings(); if( !$ok ) { // PHP doesn't report the path in its warning message, so add our own to aid in diagnosis. trigger_error( sprintf( "%s: failed to mkdir \"%s\" mode 0%o", __FUNCTION__, $dir, $mode ), E_USER_WARNING ); } return $ok; chmod($dir,0777); } ※chmodの使用タイミングが理解未熟なので、2か所に登場しています。 「$dir」はフルパスなんですが、上記方法だと「2a」だけ777になって「5」フォルダは777にならないのです。 そこで、 「$dir」のひとつ上の階層(最下層のひとつ上になります)のフォルダのパーミッションを指定して777にしたいのですが、どのようにすればよいのでしょうか。上記例の場合、「5」フォルダの名称は自動生成なので「../5」のようにソースに書けなくて困っています。

    • ベストアンサー
    • PHP
  • フォルダの属性設定方法についてお尋ねします。

    フォルダの属性設定方法についてお尋ねします。 使用しているソフトは ftp exchange です。 ずっと以前は何の設定もせずに接続だけでうまく行っていたような記憶がありますが いつの頃からか、すべての(画像 html フォルダ)属性をサーバー上で 変更をしないとWeb上では見えない状態でした。 最近になって、htmlファイル gif jpg などの属性を事前に設定する方法を覚えました。 しかし フォルダだけはやり方がわからずサーバー上で変更しています。 すみませんが、フォルダの属性設定方法を教えて頂けませんでしょうか

  • フォルダの属性でACってなんですか

    Windows2000Serverを使用しています。 エクスプローラーであるディレクトリを表示するとあるフォルダが青で表示されていて、属性の欄にACと表示されているのですがどういう意味があるのでしょうか?

  • FFFTP オーナーの属性を0にしてしまいました。

    FFFTPを使ってサーバにWebサイトのデータをアップロードしているのですが、CGIのデータ(フォルダ)をアップロードして属性を変更するときに「777」とするのを間違えて「77」と入力してしまい、「077」になってしまいました。中身をみることも、削除をすることもできなくなってしまいました。 このフォルダを消す、または属性を変更するにはどうしたらいいでしょうか? どなたかご存知でしたらご教授ください。

  • MovableType4.1で、メインページの「アイテム」欄にリンク切れの「×」が出る

    MovableType4.1でブログを設置したばかりです。 メインページの「アイテム」のところに、よく画像が削除されているときに出る「×」が出てしまいました。 原因はわかっています。 テストで画像を、「images」というフォルダを指定してアップロードしてみたのですが、不要なので、 転送ソフトで直接サーバーにアクセスして、「images」フォルダを開き、その画像ファイルを削除しました。 これが原因だと思います。 以下、質問です。よろしくお願いいたします。 【質問1】メインページのアイテム欄の「×」を取り除く方法はないでしょうか。 【質問2】「新しいブログ記事を作成」ページを開き、「画像の挿入」を開くと、なぜか削除したはずのその画像ファイルのファイル名がリストに残っています。これも消したいのですが、どうすればいいのでしょうか? 【質問3】MovableType3.35で作った記事そのほかをエクスポートし、4.1のほうにインポートで移植したのですが、これまで3.35でアップロードした画像は、どのフォルダに入っているのでしょうか。「images」のフォルダは、インポート後に上記のテスト画像をアップロードする際に「images」と入力したので、そのときに「images」フォルダが自動生成されたのだと思います。だから「images」を開いても何も入っていませんでした。では、インポートした画像はどのフォルダに入っているのでしょうか。 【質問4】インポート前に、インポート先のMovableType4.1に「images」のフォルダを作っていたなら、これまでの画像は「images」フォルダにインポートされたのでしょうか。

  • ファイルのパーミッション属性の変更方法

    初心者の質問です。 はじめてHPを作成することとなり、 その雛形をffftpでアップロードしました。 ところがリンク集が作動しなかったので、 調べたところファイルやフォルダのパーミッション属性を マニュアル通りに設定しなければならないとがわかりました。 アップロードするたびに属性変更するのは大変ですので、 あらかじめ属性変更を行ってからアップロードしたいのですが、 その方法を教えてください。 ffftpでは、リモートサイトの属性しか変更できないようです。 もしくはリモートサイトのファイルを複数個一度に変更できますか? よろしくお願いします。

  • phpでファイル生成時のファイル属性指定について

    現在、phpでとあるシステムを構築していますが、ファイル属性の件で躓いています。 phpでファイル(●●●.dat)を生成する場合、パーミッションが「644」になりますが、自動的に「666」もしくは「766」で生成出来る方法を探していますが、分かりませんでしたのでここに質問致しました。 現在、レンタルサーバーで運用しており php Ver.4.4.1のセーフモードで動いています。「chown」コマンドは使えませんでした。

    • ベストアンサー
    • PHP
  • FTPにて553エラー

    みなさま、こんにちは。 あまり専門的な知識はないのですが、 業務にてFTPを使用する機会があり、困っております。 お知恵をかしてください。 現在、FileZillaを用いて Aサーバーから、自分のPCへ画像をダウンロードし、 ダウンロードした画像を、Bサーバーへアップロードしています。 Aサーバから自分のPCへは問題なくダウンロードできました。 しかし、自分のPCからBサーバーへアップロードする際、 「553 Could not create file.」というエラーが発生し、アップロードできません。 Google等で検索したところ、パーミッションというフォルダの書き込み権限により 発生するエラーのようなのですが、 自分のPCからBサーバーへアップロードする先は、すべて同一のフォルダです。 同一のフォルダにアップロードして、アップロードできるファイルと エラーになるファイルがあるため、パーミッションの設定とは考えにくいのです。 このような状況の場合、パーミッションが原因でしょうか? パーミッションが原因とすると、何をどのように変更すればよいでしょうか? また、ほかにはどんな原因が考えられるでしょうか? ご教示のほど、よろしくお願いいたします。

  • WordPressの画像投稿のための設定方法

    WordPressで、画像をうまく投稿することができません。 お詳しい方、教えてください。お願いします。 ちなみに、現在の状況は、「public_html」フォルダの下に 「wordpress」→「wp-content」→「uploads」→年フォルダ →月フォルダ、となっています。本当は、月フォルダが自動 生成された中にアップロードした写真が入り、サイトに表示 されるはずが、エラーが出てアップロードできず、「uploads」 の外にこぼれた画像ファイル(つまり「wp-content」の中に 「uploads」フォルダと同列にある)だけが表示できる状態に なっています。フォルダ属性は、いずれも「707」になってい ます。

  • HomeEditionのWebフォルダでWebサーバにアップロード時にパーミッション設定は可能でしょうか?またフォルダ・・・

     HomeEditionのWebフォルダ機能でWebサーバにアップロード時にパーミッション設定は可能でしょうか?  また、ファイル単位だけでなくフォルダ単位でのWebサーバへのアップロードは可能でしょうか?  詳しい方、よろしくご解説お願い申し上げます。

専門家に質問してみよう