Neden file_get_contents () "Dosya adı boş olamaz" hata çıkmıyor?

5 Cevap

Ben hemen hemen PHP tam bir acemi değilim. Benim arka plan C / C + + ve C #. Bazı basit bir PHP kodu şark-ify nesne çalışıyorum, ama ben yanlış bir şey yapıyorum.

Sınıf kodu:

class ConnectionString
{
  public $String = "";
  public $HostName = "";
  public $UserName = "";
  public $Password = "";
  public $Database = "";

  function LoadFromFile($FileName)
  {
    $this->String = file_get_contents($Filename);
    $Values = explode("|", $this->String);
    $this->HostName = $Values[0];
    $this->UserName = $Values[1];
    $this->Password = $Values[2];
    $this->Database = $Values[3];
  }
}

Kodu çağırarak:

$ConnectionString = new ConnectionString();
$FileName = "db.conf";
$ConnectionString->LoadFromFile($FileName);
print('<p>Connection Info: ' . $Connection->String . '</p>');

Filename cannot be empty: Ben belirten file_get_contents($Filename) on line ann hatası alıyorum. Ben sabit kod $ Filename yerine dosya adı, sonra ben sadece alanlar için tüm boş dizeleri olsun.

Ne basit bir kavram eksik?

5 Cevap

Sen durum yanlış var:

file_get_contents($Filename);

olmalıdır

file_get_contents($FileName);

Php.ini dosyasında kullanarak veya error_reporting(), ya Uyarılar açmalısınız

PHP Değişkenler harfe duyarlıdır. Sen $FileName LoadFromFile() yöntemine bir parametre olarak tanımlanan ettik, ancak bu yöntemin ilk satırında $Filename kullanılır. PHP değişkenleri hakkında daha fazla bilgi için:

http://www.php.net/manual/en/language.variables.basics.php

Eğer gelecekte bu sorunu önlemek için yapabileceğiniz birkaç şey vardır:

  • Değişkenlerin otomatik tamamlama desteklemek gibi Eclipse PDT gibi bir IDE, kullanın.
  • Yapılandırma error_reporting to display all types of errors (E_ALL).

Değişken harf duyarlılığı:

function LoadFromFile($FileName)
{
   $this->String = file_get_contents($Filename); // This should be $FileName!
$this->String = file_get_contents($FileName);

Eğer var $Filename

 $this->String = file_get_contents($Filename);

O $ Dosya ** N ** ame olmalıdır zaman bu hat üzerinde, ** n ** ame $ Dosya yazmak