問題タブ [readdir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPの既知のIDに基づいてディレクトリ内のファイルを見つける方法は?
サーバー上のフォルダーにいくつかの画像があります:
また、私はそれらのファイル名を保持するデータベースを持っています。
この時点で私がしているのは、画像名を照会してWebページに表示することです。
問題は、私が何百万もの写真を持っていることであり、特にそのテーブルを他のテーブルと結合する必要がある場合は、それらの画像が戻るまでに時間がかかることがあります。
私がやろうと思っているのは、そのデータベーステーブルを無視して、次のような写真を取得するphp関数を作成することです。
私の質問は、このメソッドはクエリよりも高速ですか?そのファイルをどのように検索しますか?
私が自分自身を十分に明確にしたことを願っています。
thnaks
php - ファイル拡張子なしの Scandir Array 表示
以下を使用して、「html/」およびリンクパスにファイルのリストを作成しています。
配列を表示すると、たとえば my_file_name.php が表示されます
配列に拡張子ではなくファイル名のみが表示されるようにするにはどうすればよいですか?
php - readdir() 使用時の出力の順序付け
私はPHPにかなり慣れていないので、PHPの readdir() を使用して、画像でいっぱいのフォルダーを調べ、そのフォルダーにある画像の数に基づいて動的にレンダリングしています。すべてうまく機能しますが、ローカル マシンの HD に表示される順序で画像が表示されないことに気付きました。
PHPを知っている人への私の質問は、PHPを使用してフォルダーの内容を読み取り、実際のファイル名(01.jpg、02.jpgなど)の名前を変更せずに順番に表示する方法はありますか?
php - コンテンツをリストしていないディレクトリ内のすべての画像をリストする
私は以下を使用してディレクトリ内のすべてのjpg画像を一覧表示していますが、何らかの理由で機能していません。私の'と.sの一部が間違った場所にある可能性があり、少し混乱していると思います。 -S。
posix - pathconf(...、_PC_NAME_MAX)はどのような保証を提供しますか?
コンテクスト:
このreaddir_r
関数は、から次のエントリを読み取るために使用されますDIR*
(もありreaddir
ますが、スレッドセーフではありません)。readdir_r
出力を保持するためにユーザーが割り当てたバッファーへのポインターを取りますdirent
。マンページは、このバッファに必要なサイズがシステムごとに異なる可能性があることを示しており、実行時に安全な長さを見つける方法の例を示しています。
(警告:上記には競合状態があります。これは、を使用dirfd
して開いたファイル記述子を取得し、の代わりにをDIR*
使用することで回避できます)fpathconf
pathconf
質問:
のマンページを見るとpathconf
、次のように記載されています。
_PC_NAME_MAX は、プロセスが作成できるディレクトリパスまたはfd内のファイル名の最大長を返します。対応するマクロは_POSIX_NAME_MAXです。
ただし、メモのセクションには次のように記載されています。
nameが_PC_NAME_MAXに等しい場合に返される値よりも長い名前のファイルが、指定されたディレクトリに存在する可能性があります。
このメモは本当ですか?もしそうなら、readdir_r
manページのサンプルコードは正しくありませんか?
php - 特定のディレクトリ内のファイルとディレクトリのリストを取得する方法
重複の可能性:
ディレクトリ内の特定のファイルの PHP リスト
ディレクトリ内にあるすべてのディレクトリとファイルを一覧表示したいと考えています。どうすればこれを行うことができますか? 以下は私のコードです
php - PHP クローラー - 空のフォルダーに到達するとループが終了するときに readdir が終了するのはなぜですか?
指定されたパスのコンテンツをクロールし、親フォルダーまたはサブフォルダーで見つかった .htm または .html ページをインデックス化する大規模なプログラムの一部として、次の関数を使用しています。私のクローラー機能(以下)は再帰的であり、アイテムを含まないサブフォルダーに到達するまで問題なく動作しているようです。
これは、while ループを次のように構成することで解決されることが多い一般的な問題のようです。
しかし、これは機能していません。出力を取得する最後の行は「現在のクローラー パスは ...」であり、その後出力が停止します。問題は空のフォルダーとreaddir機能だと思いますが、修正方法がわかりません。誰かが提案を提供できますか?
ありがとう
これをもう少し見てみると、readdir が問題を引き起こしている理由がわかりません。問題は、私のcrawlFolders関数が巻き戻されておらず、代わりに最も深い空のフォルダーに到達したときに終了していることにあると思います. 再帰が機能する方法で何か不足していますか? while ループが false を返すと、再帰的な関数呼び出しが終了し、再帰的な呼び出しを行った前のcrawlFolders 関数 (つまり、巻き戻し自体) に落ちるという印象を受けました。
呼び出し元の関数が再開する場所を認識できるように、crawlFolders が終了するたびに値を返す必要がありますか?
再帰が問題であるように思われます。空のフォルダーにファイルを配置すると、インデクサーが機能しましたが、関数はまだ期待どおりにアンワインドしませんでした。評価されていない開始パスにまだ 2 つのファイルがあるため、これが発生していないことはわかっています。
c - Windows の c でディレクトリ内の各ファイルを取得する
現在、ディレクトリをスキャンし、そのディレクトリ内の各ファイルのファイル名を取得する必要がある C プロジェクトに取り組んでいます。コードは、Windows と Linux の両方で実行する必要があります。次のコードを使用したLinuxバージョンがあります。
このコードを機能させるために を使用して#include <dirent.h>
いますが、これは Windows と互換性がないことがわかりました。したがって、私のヘッダー ファイルでは、Linux の場合は ifdef を使用して dirent.h をインクルードしましたが、Windows の場合は何を使用できるかわかりません。
ご協力いただきありがとうございます。
linux - ls が呼び出されたときに特定のファイルを除外するために fs/readdir.c の readdir 関数を編集する方法は?
ディレクトリに存在するすべてのファイルに関する情報が次のコードのどの部分に存在するか教えてもらえますか? lsがディレクトリ内のすべてのファイルを一覧表示しようとするときに、非表示にするいくつかのファイルを除外しようとしています。
c - Ubuntuのディレクトリにファイルを一覧表示する
現在のディレクトリの親ディレクトリにあるファイルを一覧表示しようとしていますが、ターミナルからこのプログラムを実行しようとすると、セグメンテーションエラーが発生します。何が問題なのですか。コードは次のとおりです。