Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z funkcją opendir...
Forum PHP.pl > Forum > PHP
marconni
Witam wszystkich,
Mam problem, jestem oczywiście początkującym koderem i próbuje napisać skrypt który by wczytywał wszystkie pliki z danego folderu do bazy danych mysql, pliki zawierają teksty piosenek, chodzi mi o to aby skrypt dodawał wszystkie pliki z folderu do bazy danych wraz z nazwa wykonawcy piosenki i tytulem, kazdy plik zawiera w pierwszej linijce wykonawce , w drugiej linijce tytul piosenki pozniej spacje a następnie tekst piosenki, o to kod i błąd jaki mi się wyświetla
[b]Warning: opendir(http://localhost/~piosenki/piosenki) [function.opendir]: failed to open dir: not implemented in C:\Program Files\WebServ\httpd-users\piosenki\plikizfolderu.inc.php on line 10

Warning: readdir(): supplied argument is not a valid Directory resource in C:\Program Files\WebServ\httpd-users\piosenki\plikizfolderu.inc.php on line 12

Warning: closedir(): supplied argument is not a valid Directory resource in C:\Program Files\WebServ\httpd-users\piosenki\plikizfolderu.inc.php on line 17[/b] i kod funkcji plikizfolderu:
Kod
<?php
function plikizfolderu ($folder,$rozszerzenia){
$katalog = opendir($folder);
$plikiwynikowe = array();
while ($kolejnyplik = readdir($katalog))
{
if (is_file($folder."/".$kolejnyplik) && ereg($rozszerzenia,$kolejnyplik)) // co z tym znakiem / jest nie tak
  $plikiwynikowe[]=$kolejnyplik; // w tej linii tez z tym []
}
closedir($katalog);
sort($plikiwynikowe);
return $plikiwynikowe;
}
?>
</b></div><div><b>

i kod programu głównego:
Kod
</b></div><?php
include_once ("plikizfolderu.inc.php");
$folder='http://localhost/~piosenki/piosenki';
$pliki= plikizfolderu ($folder,'\.txt );
$tmpcount = count($pliki);

for ($i=0; $i< $tmpcount; $i++) {
$fd= fopen ('$pliki[$i]', 'r');
$contents = strtoupper (fread($fd, filesize('$pliki[$i]')));
fclose ($fd);
$piosenka= file('$pliki[$i]');
$piosenka[0]= mysql_escape_string (trim ('piosenka[0]'));
$piosenka[1]= mysql_escape_string (trim ('piosenka[1]'));
$contents= mysql_escape_string (trim ($contents));

mysql_connect ("localhost","root","") or die (mysql_error());
mysql_select_db ("twojepiosenki") or die (mysql_error());
mysql_query ("INSERT INTO piosenki (wykonawca, tytul, tekst) VALUES ($piosenka[0], $piosenka[1], $contents)");
}
?>
<div><b>


Proszę Was o pomoc:-) już sam nie wiem co mam w tym kodzie poprawić
em1X
Folder musi być po stronie lokalnej, a nie otwierany zdalnie:

  1. <?php
  2. $folder='http://localhost/~piosenki/piosenki';
  3.  $pliki= plikizfolderu ($folder,.txt );
  4. ?>


(do kodu php używaj znaczników [php])
nevt
tu masz błąd
  1. <?php
  2. $folder='http://localhost/~piosenki/piosenki';
  3. ?>

jako ścieżkę ustawiasz odwołanie http:// a powinno być file:// - poza tym twój serwer w ogóle może nie pozwalać na odwołania typu url więc najbezpieczniej jest użyć ścieżek względem pliku .php:
  1. <?php
  2. $folder='file://localhost/~piosenki/piosenki';
  3.  //albo
  4. $folder='./~piosenki/piosenki';
  5. // o ile twój plik php jest w doc_root serwera....
  6. ?>

powodzenia
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.