Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje katalogowe
Forum PHP.pl > Forum > PHP
Jachu_III
Witam! Mam w katalogu kilkanaście plików z których dane trzeba wciągnąć do bazy. Wiem, że powinnienem skożystać z funkjci opendir i readdir tak jak poniżej:
[php:1:d353e6d8ff]<?php
$obecny_kat = '/katalog/dane/';
$kat = opendir($obecny_kat);
while ($plik = readdir($kat)){
.......
?>[/php:1:d353e6d8ff]
No własnie, co dalej zrobić aby przetwożyć każdy plik z tago katalogu. Proszę o pomoc! jak możecie to napiszcie przykładowy kod.
BzikOS
A co to znaczy przetworzyć? Wczytwać zawartość każdego pliku i umieścić w bazie danych?

[php:1:3d07e912b0]<?php
while ($plik = readdir($kat)){
$fcontents = join ('', file($plik));
$fcontents = mysql_escape_string( $fcontents );

$sql = "INSERT INTO tabela (nazwa, zawartosc ) VALUES ('$plik', '$fcontents')";
// wykonanie zapytania do bazy...
}
?>[/php:1:3d07e912b0]
Paul
No normalnie otwieresz plik, czytasz z niego dane, zapisujesz w bazie.

Tu masz potrzebne funkcje:
:arrow: manual >> [manual:dfc99f72f3]filesystem[/manual:dfc99f72f3]

Wg manuala takie czytanie listy plikow jest nie poprawne, wejdz sobie na ponizszy adres, tam masz napisane jak ma byc smile.gif
Cytat
/* This is the WRONG way to loop over the directory. */


Przy wiekszosci funkcji w manualu sa przyklady, ktore czesto sa bardzo przydatne winksmiley.jpg

Tu masz taki przykladowy skrypt z manuala do opendir

[php:1:dfc99f72f3]<?php
$dir = "/tmp/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "n";
}
closedir($dh);
}
}
?>[/php:1:dfc99f72f3]

Wystarczy, ze zmienisz sobie troche ten skrypt i bedzie winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.