Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Pfadangaben bei Linux und Windows
Antwort
 
Themen-Optionen
Alt 08.03.2006, 00:19   Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Pfadangaben bei Linux und Windows

Hi,
ich habe eine Datei, in welcher Folgendes steht.
PHP-Code:
define('CWD', (($getcwd getcwd()) ? $getcwd '.'));
require_once(
CWD '/includes/init.php'); 
Diese Datei wird durch eine andere Datei eingebunden. Das sieht so aus.
PHP-Code:
<?php

    $getcwd 
'';
    require_once(
'./forum/global.php');

    echo 
'<pre>';
    
print_r($GLOBALS['special']);
    echo 
'</pre>';
      
?>
Nun gut. Ich arbeite unter Windows XP Home mit einem XAMPP.

Ich erhalte nun also folgende Fehlermeldung:
Zitat:
Warning: require_once(C:\apachefriends\xampp\htdocs\[..]/includes/init.php) [function.require-once]: failed to open stream: No such file or directory in global.php on line 20
Zeile 20 ist dann gerade die obige "require_once"-Anweisung.

Wie kann ich das denn irgendwie umgehen?
Falls das jetzt 'ne DAU-Frage ist .. .. sorry. Ich wusste irgendwie nicht so wirklich, welche Suchbegriffe ich verwenden sollte, so hat mir Onkel Google nur unpassendes Zeug ausgespuckt .

Danke für die Hilfe.
Grüße Ben.


[EDIT]
Jou, erstmal wieder reinkommen ins Geschäft. *g*

Ich habe mich jetzt mal verenkt und habe es so "gelöst":
PHP-Code:
<?php

    define
('TEST_VAR'true);

    
$file strrchr($_SERVER['SCRIPT_FILENAME'], '/');

    
$getcwd str_replace($file'/forum'$_SERVER['SCRIPT_FILENAME']);
    require_once(
'./forum/global.php');

    echo 
'<pre>';
    
print_r($GLOBALS['special']);
    echo 
'</pre>';
      
?>
Und in der eingebundenen Datei
PHP-Code:
if(TEST_VAR === true) {
    
define('CWD', (($getcwd != getcwd()) ? $getcwd '.'));
}
else {
    
define('CWD', (($getcwd getcwd()) ? $getcwd '.'));    

Das funktioniert dann erstmal. Aber irgendwie .. .. stellt mich das nicht zufrieden.

Wer etwas Besseres weiß, immer gerne.

Geändert von Ben (08.03.2006 um 01:03 Uhr).
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 10:01   Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Ich würde dir empfehlen, in einer Konrigutrationsdatei, alle wichtigen Pfade in Umgebungsvariablen/Konstanten zu zuweisen.

Ein Codeschnipsel von mobile2web 1.0.2.
PHP-Code:
/**
 * URL of application installation with trailing slash
 *
 * @var const
 */
define('M2W_URL_ROOT''http://'.$_SERVER['HTTP_HOST'].'/');
  
/**
 * @var const
 * @desc absolute path of application installation with trailing slash
 *       use / instead of \ for Windows-pathes
 */
define('M2W_PATH_ROOT'$_SERVER['DOCUMENT_ROOT'].'/');
 
/**
 * path of configuration directory with trailing slash
 *
 * @var const
 */
define('M2W_PATH_CONFIG'M2W_PATH_ROOT.'config/');
 
/**
 * path of image directory with trailing slash
 *
 * @var const
 */
define('M2W_PATH_IMAGES'M2W_PATH_ROOT.'images/');
  
/**
 * URL of  image directory with trailing slash
 *
 * @var const
 */
define('M2W_URL_IMAGES'M2W_URL_ROOT.'images/'); 
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 10:34   Nach oben    #3
Benutzer
 
Registriert seit: 17.08.2005
Beiträge: 87
Standard

Zitat:
Zitat von Ben
[EDIT]
Jou, erstmal wieder reinkommen ins Geschäft. *g*

Ich habe mich jetzt mal verenkt und habe es so "gelöst":
PHP-Code:
<?php

    define
('TEST_VAR'true);

    
$file strrchr($_SERVER['SCRIPT_FILENAME'], '/');

    
$getcwd str_replace($file'/forum'$_SERVER['SCRIPT_FILENAME']);
    require_once(
'./forum/global.php');

    echo 
'<pre>';
    
print_r($GLOBALS['special']);
    echo 
'</pre>';
      
?>
huh?
Warum machst Du die Verrenkung mit $file und $getcwd und str_replace und pipapo ....wenn Du dann nichts davon verwendest? require_once('./forum/global.php'); funktioniert auch ohne den gesamten Rest

Was ist eigentlich genau das Problem?
"C:\apachefriends\xampp\htdocs\[..]/includes/init.php", gibt es diese Datei nun wirklich nicht und/oder ist irgendwas am Pfad seltsam oder oder oder?
VolkerK ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 14:18   Nach oben    #4
Neuer Benutzer
 
Benutzerbild von N!cKY
 
Registriert seit: 03.03.2006
Ort: Msobach
Beiträge: 14
Standard

sind die ordner "forum" und "includes" auch im selben ordner, oder ist "includes" in "forum"?
btw. könntest auchn include_path benutzen
__________________
Mein Blog: nicky.nubbel.info
N!cKY ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 15:24   Nach oben    #5
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

@VolkerK:
Na ich nutze das ja schon.

Die gobal.php kann ich vereinfachen:
PHP-Code:
if(PORTAL === true) {
    
define('CWD'$getcwd);
}
else {
    
define('CWD', (($getcwd getcwd()) ? $getcwd '.'));    

Aber da verwende ich ja das $getcwd. Also ich brauche das ja erst in der eingebundenen Datei.

@N!cKY:
Wie genau meinst Du das mit dem include_path?

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 17:44   Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Zitat:
Zitat von Ben
@N!cKY:
Wie genau meinst Du das mit dem include_path?

Grüße Ben.
Er meint den include_path überschreiben bzw. erweitern.
http://de2.php.net/manual/en/ini.cor...i.include-path
http://de.php.net/manual/en/function...clude-path.php
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.03.2006, 17:47   Nach oben    #7
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Aso. *ploink*
Jou, stand ich auf dem Schlauch.

Werde da nochwas rumtesten. Das Problem ist soweit gelöst.
Danke für Eure Hilfe.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Firefox: Marktanteil klettert in Europa über 20 Prozent robo47 Nachrichten 36 03.12.2007 14:20
Jabber Client ssl + pgp/gpg fähig windows (+ linux) robo47 Gesuche 2 29.08.2007 08:39
Computer mit Linux grundsystem und Windows als Desktop System Jan Plauderecke 2 04.03.2007 17:07
Linux ohne Sound -> Windows VM? FloB Plauderecke 6 01.02.2007 14:54
Neue XAMPP-Version für Linux, Windows und Mac OS X Jann Hendrik Nachrichten 3 29.11.2006 23:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:41 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44