Toon posts:

[php] @require or die lukt niet.?

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik gebruik een require() om een kritieke file te includen. Nu als die file niet bestaat ofzo, dan geeft php dus de error "file xxx was not found" oid.

Nu wil ik niet dat de filename weergegeven wordt, dus had ik geprobeerd:

@require("xxx" or die("Hier komt mijn error message");

Maar nu geeft die totaal geen error, ook niet mijn eigen error.

Als ik de @ weghaal, krijg ik als error:

Fatal error: Failed opening required '1' (include_path='') in *** on line 8

Wat doe ik dan fout?

  • Lord-M
  • Registratie: September 2000
  • Laatst online: 17-07 20:42
Probeer in plaats van require eens include te gebruiken... require heeft een wat aparte status en houdt zich o.a. niet goed aan de '@', etc.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Het geeft het ook al een beetje aan he.

Require = benodigd. Meestal (mooi), zet je alle files die er sowieso bij in moeten met een require bovenin je script, en files die van het één of ander afhankelijk zijn met een include.

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Hij doet het goed hoor.
Het lijkt mij dat je niets hebt geinclude.
Anders zou er staan in path=/htdocs/www/file.php lijkt mij
en die @ is ervoor dat het script als er iets fout is bij de repuire helemaal GEEN error print.

include zou ik niet doen.
als er belangrijke dingen in die file staan en het lukt niet om te include dan geef die de pagina wel weer.
Zonder het bestand te include. require exit de pagina gewoon na een error.

www.dannyhiemstra.nl


  • Apache
  • Registratie: Juli 2000
  • Laatst online: 14-09 22:46

Apache

amateur software devver

even een check doen met file_exists(); oid

If it ain't broken it doesn't have enough features


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
PHP:
1
2
3
4
5
<?
if ( !@require('bestand') ){
   echo 'mislukt';
}
?>

Werkt dat niet?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op woensdag 26 december 2001 14:38 schreef Jppr het volgende:
Fatal error: Failed opening required '1' (include_path='') in *** on line 8
goh wat zou dat betekenen

Doet iets met Cloud (MS/IBM)


  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 13-09 21:26
include ("bestand") or die ("mislukt");

zou dat niet werken?????

  • vinnux
  • Registratie: Maart 2001
  • Niet online
PHP:
1
2
3
4
5
<?
 
<?
include_once("naam") or die("naam bestaat niet")
?>

include() verschilt van het require() statement op éé punt. Een include() statement wordt elke keer ge-evalueerd als deze wordt tegengekomen (en ook alleen maar tijdens de uitvoering van een script). Dit in tegenstelling tot het require() statement, welke wordt vervangen door de opgegeven file als deze voor de eerste keer wordt tegenkomen.

Omdat include() een speciale taal constructie is, ben je verplicht deze te omgeven met een statement blok als het include() statement zich in een conditionele constructtie bevind.

The include_once() statement includes and evaluates the specified file during the execution of the script. This is a behavior similar to the include() statement, with the important difference that if the code from a file has already been included, it will not be included again.

As mentioned in the require_once() description, the include_once() should be used in the cases in which the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.

For more examples on using require_once() and include_once(), look at the PEAR code included in the latest PHP source code distributions.

include_once() was added in PHP 4.0.1pl2

Voor meer info zie de phpManual

Verwijderd

Topicstarter
Op woensdag 26 december 2001 15:24 schreef Apache het volgende:
even een check doen met file_exists(); oid
het bestand is er wel, en normaal loopt alles goed, maar stel dat er een probleem is, dàn wil ik mijn error dus...
D2k:
Fatal error: Failed opening required '1' (include_path='') in *** on line 8

goh wat zou dat betekenen
tja, ik zou het niet weten. Weet jij het? Ik krijg die melding dus enkel als ik
require('***') or die("blaat");
gebruik. Met @ erbij en als de file niet bestaat geeft hij de een error als

Fatal error: Failed opening required '***' (include_path='') in *** on line 8

waarbij de filename dus wel degelijk ingevuld is... Die '1' is raar!


met include werkt die
PHP:
1
2
3
4
5
<?
if (!include("...")) {
    echo("blaat");
}
?>

wel.

Heb het overigens nu als volgt:
PHP:
1
2
3
4
5
<?
@include("...");
@mysql_connect(...) or die("Could not connect");
...
?>

dan blokkeert die op die tweede regel kan ook. Vind het alleen raar dat require() zo vaag doet...
Pagina: 1