0

そのため、FTP を使用していくつかのディレクトリとファイルを作成しました。したがって、所有者は、サーバーへのログインに使用するユーザー名です。ここで、Web サイトのユーザーがこれらのディレクトリに画像をアップロードできるようにしたいと思います。残念ながら、ウェブサイトに画像を保存するには、Apache が所有する必要があります。どうすればこれを修正できますか? 私はこれについて読んでいますが、答えを直接見つけることができません。

私は SSH を持っていないので、すべてのコマンド ラインの機能は私には当てはまらないと思います。

編集

その後、Apacheを使用してフォルダーを再度作成しようとしましたが、もちろん、ftpを使用してそれらのディレクトリにファイルを書き込むことはできません。

4

2 に答える 2

1

少なくとも 1 つのディレクトリが apache ユーザーによって書き込み可能である場合 (このディレクトリを 'writeabledir' と呼びましょう。ルート ディレクトリ '/' である可能性があります)、ftp 経由で作成したフォルダーを削除し、php スクリプトを作成して、必要なディレクトリ。たとえば、というディレクトリが必要で、usersその中に別のディレクトリという名前が必要な場合upload

サーバー上にファイル makedirs.php を作成します。

<?php
  $oldumask = umask(0); 
  mkdir("writeabledir/users/upload",0777,true); // or even 01777 so you get the sticky bit set 
  umask($oldumask); 
?>

ブラウザで your.serv.er/makedirs.php を呼び出して、makedirs.php を一度実行します。

編集:

ディレクトリを削除して再作成したくない場合は、いつでも ftp からファイルのアクセス許可を変更することができます。

たとえば、FileZilla の場合、目的のフォルダーを右クリックして、アクセス許可を 777 に設定します。ftp ユーザーにこれを行うアクセス許可がない場合は、管理者に依頼する以外に方法はありません。

EDIT2:

apache によって作成されたフォルダーが誰でも書き込み可能であることを保証するために umask を追加しました。( http://us3.php.net/manual/en/function.mkdir.php#1207から取得)

于 2013-11-02T14:30:19.153 に答える
-1

友達は私がphpで働いているように見えますが、いくつかのバージョンではソリューションの方法が変わりますが、最も一般的なのは、データベースを作成し、それをesuコードにインポートする必要があることです。場所に加えて、最も賢明なことは、その実現に必要なフィールドを含むデータベースを作成し、インポートし、スケジュールのファイルディレクトリに配置することです。また、aptana Studio 3 を使用すると、多くのものの間でコードの作成が大幅に容易になり、コストが低くなります。 xamppには、1か所に統合​​されたApacheがすでに付属しています。インストールに関する質問は、彼が説明するYouTubeを見るだけで多くの助けになります

于 2013-11-02T14:27:27.117 に答える