問題タブ [fgetcsv]

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.

0 投票する
3 に答える
30169 参照

php - PHPでファイルをアップロードするときに完全なファイルパスを取得するには?

PHPでファイルをアップロードするときに、完全なファイルパスを取得する方法を本当に知りたいですか?

これが私の問題です...

PHPでcsvファイルをインポートしています。ファイルのアップロードは問題ありませんが、csv ファイルのインポートに使用される関数 fgetcsv() には fopen が必要です。fopen は、ファイルがphpファイルと同じディレクトリにある必要があることを意味する正確なファイルパスを必要とするため、頭痛の種です。ユーザーが別のディレクトリからファイルを取得した場合はどうなりますか。

これが私のコードです:

index.php:

csv_import.php:

ここで fopen は、変数によって渡されるファイル名のみを取得できます$_FILES['csv_file']['name']。インターネットで $_FILES の完全なファイルパスを取得する関数を取得しようとしましたが、見つかりません。

私はウェブ開発に非常に慣れていないので、しばらくお待ちください。できるだけ簡単に答えてください...助けてください...

0 投票する
4 に答える
877 参照

php - csvファイルデータを配列に挿入する(PHP)

アップロードされたファイルのデータを単一の次元配列に挿入しようとしています。

このファイルは、次のように1行に1つの学生番号があるようなものです。

392232、392231など
_

これは私がオンラインで見つけた最も一般的な方法です:

ただし、私が理解している形式では、これにより$line各行に配列()が作成されます。それは私が望むものではありません。

それはさておき、ftgetcsv()を使用した後、これが機能していて、コードが配列を出力しないかどうかを確認するためにこれを試しました。ファイルは正常にアップロードされています。

これが私のコードです:

まず、少なくともデータの個別の配列(各行)としてそれらを出力することが機能しない理由を誰もが明らかに理解できますか?

次に、ファイル内のすべての行の1d配列を作成するように設定することは可能ですか?

どうもありがとう、

0 投票する
2 に答える
2906 参照

php - PHPのfgetcsvを使用してCSVファイルから重複を排除するにはどうすればよいですか?

fgetcsvを使用して、特に$line_of_textを使用してCSVファイルを解析しています。国を共有しているすべての都市をエコーし​​たいのですが、都市の重複を排除して、たとえば、パリが200回発生した場合、フランスの他の異なる都市の1つのエコーに沿って、1回だけエコーされるようにします。それらのインスタンス数の。

私の勘では、都市の値を配列に格納してから、array_uniqueを使用して重複を削除する必要がありますが、残念ながら、これは現在のphpの能力を超えています。どんな助けでも深く感謝します、私は私の力ですべてを試しました!

0 投票する
3 に答える
11634 参照

php - fgetcsv()とUnicodeの問題

私はコードをもっている。ローカルホストでは、csvファイル(Unicode文字を使用)の読み取りに問題はありません。しかし、ホスト出力にコードをアップロードするときは何もありません。なぜ?解決策は何ですか?

0 投票する
1 に答える
659 参照

php - PHPでCSVダンプから構造化データを抽出するにはどうすればよいですか

PHPでCSVを読み込んで実験しています。

3 列の単純な値を持つ CSV ファイルがあります。

各行をループして各値を出力することができましたが、一意の値と行内の特定の位置に基づいて条件付きでデータを取得する必要があります。

たとえば、列 a の一意の値ごとに、列 c を値の 1 つの条件として使用して、列 b の値に基づいてデータ オブジェクトの配列を生成する必要があります。

私のCSV:

尋問に使用しているコード:

出力

私が達成したいことの疑似コード

編集ソリューション:

それが理にかなっていることを願っています。

ありがとう

0 投票する
1 に答える
894 参照

php - CSVファイルを配列に開き、データを変更してから、元のCSVファイルを変更されたデータで上書きするPHPのサポートが必要です

レポートで使用するには、CSVファイルからデータを取得する必要があります。ただし、エクスポートするソフトウェアには、有用な形式でエクスポートする機能がありません。PHPを使用して、次のようなデータを含むCSVファイルを取得したいと思います。

そしてそれをこれに変えてください:

現時点では、fgetcsv()を使用してCSVファイルを開き、不要な文字を削除するコードがあります。

これにより、CSVファイルの行がコンマ区切りの行に格納され、$lines配列は次のようになります。

次に、データをCSVファイルにエクスポートして戻すことができるように、データを1つ以上の配列内に正しい順序で格納する必要があります。

私は使ってみました:

次に、caseステートメントを使用して正しいデータを配列に配置しますが、ハングアップするため、何か間違ったことをしている必要があります。(言うまでもなく、このコードは最適化されていません。)

ここからどこに行けばいいのか、何かアイデアはありますか?ありがとう!

0 投票する
1 に答える
1028 参照

php - PHPで大きなcsvファイルを使用してmysqlテーブルを更新する

mysql データベースに更新する約 13000 行の CSV ファイルがあります。PHP 関数は、約 5000 行後にタイムアウトまたはメモリ オーバーフローで停止します。

fgetcsv を使用してすべての行をループし、行が既に存在するかどうかを確認します。これにより、タイムアウトが発生していると思います (SELECT/INSERT/UPDATE クエリ)。

テーブルにはまだ他のテーブルとの関係があるため、テーブルを削除してすべてを再挿入することはできません。->次に、たとえば5000行のブロックで複数の値の文字列を含む単一のINSERTステートメントを作成できます。

タイムアウトを防ぐために、ファイルをチャンクで読み取る方法を見つける必要があります。

事前にt​​hx!

いくつかのコード:

別の関数内で readFile() を呼び出し、次のような行をループします。

0 投票する
2 に答える
1069 参照

php - 条件付きでPHPを使用してcsvファイルをmysql DBに解析する方法

php を使用して csv ファイルを mysql データベースに解析する方法を教えてください。php ドキュメントから読み取ったビットから、データベースに読み取っている行に条件を追加して、条件を満たす値のみを取得する方法や可能性があるかどうかはわかりません。条件がデータベースに渡されます。

たとえば、現在、次のようなcsvファイルがあります

コンマの前のコードは16進値のみであると想定されています。私がやりたいのは、16進コード(0-9)-(AF)を表していない行(16進値とそのコード)を除外することです...どのように達成できるかについて何か考えはありますか?

0 投票する
2 に答える
464 参照

php - CSV を読み取りますが、多次元配列ではなく、行を含む単一の配列を作成しますか?

CSV ファイルがあり、fgetcsv を使用すると、各行を配列として喜んで生成できます。

パイプは構造と細胞分裂を示します。以下のコンマは入力の一部であり、保持する必要があるコンマです。

示されているようにデータでカンマが使用されることを考えると、パイプを使用して区切る方がよいでしょう。

0 投票する
3 に答える
5922 参照

php - PHP.datファイルの解析

私は本質的に;である.datファイルを持っています。区切られたファイルで、タブで区切られた.txtに変換しようとしています。私がよくわからない問題は、新しいファイルの各行が元のファイルの3つの行の組み合わせになり、元の各行に異なる量のデータがあることです。最初の列は、グループ化の各行を識別するだけです。これを行うための最良の方法は何でしょうか?

元のデータのサンプル:

出力の終了:

何か案は?