Problem mit Klasse

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Problem mit Klasse

Beitrag von FCM »

Hallo,

hier mein Code (nur der Anfang):

Code: Alles auswählen

class tinyimages {

	var $folder = $_SERVER['SCRIPT_NAME'] . '/images/upload';
	
	function __construct() {
		define(DIR, $_SERVER['DOCUMENT_ROOT'].'/');
		
		// ATTENTION!
		// You need to check the session here, because methods of this class can be danger to security!
		//if(!isset($_SESSION['user']['type'])) return false;
		
		$this->folder = $this->folder;
		$this->restrict = $this->folder;
	}
	
	private function leftPanel() {
		$ret = array();
		if ($handle = opendir ( DIR.$this->folder )) {
			while (false !== ($file = readdir ( $handle ))) {
				if (is_dir(DIR.$this->folder.'/'.$file) && $file != '.') {
					$ret[] = array(
						'path' => $file,
						'name'	=> $file
					);
				}
			}
			closedir ($handle);
		}
		
		if(count($ret) > 0) {
			$return = '';
....
Doch bekomme ich, wegen der Variable $_SERVER['SCRIPT_NAME'] diese Fehlermeldung (wenn die Variable weg ist, dann nicht):

Code: Alles auswählen

Parse error: syntax error, unexpected T_VARIABLE in C:xampphtdocshtmlprojekteeasyhp_1.1.5editorjscripts iny_mcepluginsimagesserver_connector inyimages.php on line 5
Weiß jemand, warum ich die nicht nutzen kann?

LG, EloKoN
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Da du dir ja selbstverständlich den Abschnitt "Grundlagen" im PHP-Handbuch durchgelesen hast, hast du diesen Teil sicherlich nur übersehen:
PHP-Handbuch hat geschrieben:Der Standardwert muss ein konstanter Ausdruck sein, aber nicht z.B. eine Variable, ein Klassenattribut oder ein Funktionsaufruf.
Was genau willst du eigentlich damit bezwecken, eine Variable sich selbst zuzuweisen?

Code: Alles auswählen

      $this->folder = $this->folder;
      $this->restrict = $this->folder; 
KB:knigge
FCM
Mitglied
Beiträge: 1863
Registriert: 03.05.2006 14:47
Kontaktdaten:

Beitrag von FCM »

Hallo Pyramide,

es geht mir jetzt nur darum, das er die SERVER-Variable irgendwie nicht nimmt. Das Skript habe ich nicht selbst geschrieben, ich ändere es nur ab. Warum der Programmierer $this->folder sich selbst zugewiesen hat, weiß ich nicht.

LG, EloKoN
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Dann initialisiere halt oben mit '' und weise im Konstruktor eben $_SERVER['SCRIPT_NAME'] . '/images/upload'; zu (bzw. lass das initialisieren oben ganz sein, da es sowieso überschrieben wird).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“