2017-09-20 4 views
0

私が指定している問題については非常に多くのスレッドがありますが、必要なものは見つかりませんでした。それぞれの違いはdbの違いです。& file-システムまたはパフォーマンスの観点から見てください。私が必要とするのは以下の通りです。xamppを使ってファイルシステムにイメージストレージを実装するのに固執しました

ここで私は抱かれているシナリオです。私は車のためのWebアプリケーションを開発しています。私はほとんどのことをやっています。私は前にそれをやったことがないので、私のための複雑な作業である画像をアップロードすることで問題が浮上しています。

  • 画像をデータベースに保存するのではなく、ファイルシステムに保存し、画像のパスをdbに保存する必要があります。これは私がよく知っているものです

しかし、私は実際にファイルシステムが何であるかを知る必要がありますか?私はxamppからlocalhostを使って作業しています。私の懸念事項は次のとおりです。

  • xamppはどの画像を拡張できますか? jpegやpngなど何か?
  • このタスクはどのように実装できますか?私はどこから始めたらいいのかわからない、ちょっとしたスタートが必要です。
  • BLOBとファイルシステムは異なるのですか?
  • フォルダのイメージのテーブルを作成する必要がありますか?

すでに誰かが行っている、またはサンプルのPHPコード/スクリプトを持っている人は、私に教えてください。それは非常に高く評価されるでしょう:)

+0

ディレクトリ内のファイルシステム=ファイル。もしあなたが今までどおりにファイルやディレクトリを使用してきたのであれば、あなたは既にそれに精通しているでしょう。特別なものはありません。 – deceze

+0

これはよく書かれた質問ですが、それでもやや広いです。 「XAMPP」はディストリビューションであり、具体的なサーバータイプではありません。ファイルはファイルであり、Webサーバーは何も制約しません。ファイル名を完全に関連付けるためのデータベースが必要な場合は、イメージの表示/構造または解除の方法によって異なります。一般化することは不可能です。 – mario

+0

"php file upload"を検索すると、Webユーザーにファイル形式を提示し、ファイル(またはイメージのみ)をサーバーにアップロードする、再利用可能な最小の例を見つけることができます。これはあなたの質問のほとんどに答えなければなりません。 – OptimusCrime

答えて

0

xamppは画像に対してどのような拡張を受け入れますか? jpegやpngなど何か?

XAMPPは任意のファイルを受け入れます。ユーザーが確かに画像だけをアップロードしていることを確認して確認することは、プログラマとしてあなた次第です。これを行うにはいくつかの方法があります。 For example something done in this question

このタスクはどのように実装できますか?私はどこから始めたらいいのかわからない、ちょっとしたスタートが必要です。

これは非常に広い質問です。どのようにしたいのかは、ニーズとアプリケーションの残りの仕組みによって異なります。裸の骨のアップロード機能は、実際には非常に簡単です。ちょうどGoogleの "PHPファイルのアップロードの例"はあなたに多くの例を与える必要があります。例えば、thisのようなものです。

BLOBとファイルシステムは異なるのですか?

ファイルシステムは、あなたのマシン上のファイルと同じです。 Webサーバー(およびXAMPP)は、あなたの要求に答えるためのソフトウェアを実行している単なるコンピュータです。このサーバーにファイルをアップロードすると、インターネット上のファイルをマシン上でダウンロードするのと基本的に同じことになります。マイドキュメントの下にあるマシン上のファイルは、基本的にWebフォームを介してアップロードされたファイルと同じです。 BLOBは、データベースに格納されたバイナリデータの集合です。この形式は、大きな値を格納するのに便利です。あなたとは関係ありません。

フォルダの画像用のテーブルを作成する必要がありますか?

これは実際どのようにしたいのですか。すべての画像を1つのディレクトリに置くことができます。しかし、このディレクトリにたくさんの画像があると、遅くなることがあります。一般的なパターンは、ファイル名の最初の文字を使用してそのディレクトリを作成することです。たとえば、次のようなものがあります。

// Upload file target 
$uploadDirectory = '/path/to/directory/'; 

// Create a "random" hash 
$randomHash = md5(rand() . '---' . time()); 

// Name the file randomhash.fileending 
$fileName = $ranomHash . '.' . $fileEnding; 

// Find the first letter of the filename 
$firstLetter = substr($fileName, 0, 1); 

if (!file_exists($uploadDirectory . $firstLetter)) { 
    // Directory does not exists, create it 
    makedir($uploadDirectory . $firstLetter); 
} 

// Final path is now constructed 
$finalPath = $uploadDirectory . $firstLetter . '/' . $fileName; 

// For example, if your file is named aabbcc.png, then the $finalPath is: 
// /path/to/directory/a/aabbcc.png 
// When you have moved the file to this directory, you can store this string in the database 
+0

が完全に説明されています。私はこれを試してみるつもりです。私はこれについて非常に新しく、それについて多くのアイデアは知らない。私がもっと心配しているなら、どうすればあなたに届くはずですか?私を助けてくれるの? –

+0

@MehranKhan StackOverflowパターンに従うのが最善の方法です(誰にとっても)。あなたが解決できない問題があれば、できるだけ詳細かつ具体的にしてください。ここで新しい質問を開き、問題を理解/再現するために必要な最小限の例を含めてください。このようにすれば、あなたと私たちが何が起こっているのかを理解することがより簡単になります。このようなオープンな作業で誰かをデバッグ/助け/導くだけでは簡単ではありません。 – OptimusCrime

関連する問題