klon: unable to open database (dbase_open)

Hallo,

Ich versuche gerade mit folgendem PHP Programm Datensätze aus eine .dbf-Datenbank-Filfe zu löschen, aber leider folgt beim klicken auf DEL die Fehlermeldung:

Warning: unable to open database 80510715_bitz.dbf in /.../html/test2.php on line 6
Can't open 80510715_bitz.dbf

------------

<?php
$table = "80510715_bitz.dbf";

if ($del != "")
{
 if (!$FileHandler = dbase_open($table,2))
 {
  echo "Can't open $table\n";
  exit;
 }
 else
 {
  dbase_delete_record($FileHandler,$del);
  dbase_pack($FileHandler);
  dbase_close($FileHandler);
 }
}

if (!$FileHandler = dbase_open($table,0))
{
 echo "Can't open $table\n";
 exit;
}
else
{

print "<TABLE border="1">";

for ($i=1; $i <= dbase_numrecords($FileHandler); $i++)
 {
  $row = dbase_get_record($FileHandler,$i);

print "<TR><TD><a href="test2.php?del=$i">DEL</a>";

for ($j=0; $j <= dbase_numfields($FileHandler); $j++)
  {
   print "<TD>".$row[$j]."</TD>";
  }

print "</TR>";
 }

print "</TABLE>";

dbase_close($FileHandler);
}
?>

-----------

klon

  1. Hello,

    Warning: unable to open database 80510715_bitz.dbf in /.../html/test2.php on line 6
    Can't open 80510715_bitz.dbf

    if (!$FileHandler = dbase_open($table,2))

    Ich rate mal, dass das die Zeile 6 ist.
    Bestehen denn Schreibrechte auf die Datei und x-Rechte auf das Verzeichnis, in dem sie liegt?

    Das sieht mir so aus, als hätte der PHP-Prozess keine Schreib- oder Leserechte auf die _vorhandene_ Datei. Wenn er keine Rechte hätte, bekäme man 'access dienied'.

    Harzliche Grüße vom Berg
    esst mehr http://www.harte-harzer.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Das wars genau!

      Aber leider habe ich nun ein anderes Problem:

      Warum gehen die Formatierungen der Felder (des Headers) verloren wenn ich Datensätze Lösche?

      Klon

      1. Hello,

        Aber leider habe ich nun ein anderes Problem:

        Warum gehen die Formatierungen der Felder (des Headers) verloren wenn ich Datensätze Lösche?

        Den Satz verstehe ich nicht.
        Welches Headers?
        Meinst du den dBase-Datei-Header?

        Harzliche Grüße vom Berg
        esst mehr http://www.harte-harzer.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hallo Klon,

    probier mal folgendes:

    $table = "80510715_bitz.dbf";
    if( !empty( $del ))
    {
      $FileHandler = dbase_open($table,2) or die "Can't open $table";

    dbase_delete_record($FileHandler,$del);
      dbase_pack($FileHandler);
      dbase_close($FileHandler);
    }

    Viele Grüße,
    Michael