Avatar billede Nighthawk43 Nybegynder
01. april 2010 - 18:10 Der er 5 kommentarer og
1 løsning

failed to open stream: Invalid argument in

Hejsa,

Er der lige kan hjælpe mig lidt med nedenstående, jeg kan ikke lige gennemskue hvad det er der går galt, sikkert et eller andet helt tåbeligt :-)

files2import.csv som indeholder 3 filnavne på hver sin linje.

Jeg får følgende fejl:

Warning: file(203.001 ) [function.file]: failed to open stream: Invalid argument in C:\Programmer\xampp\htdocs\tecdoc\dbimport.php on line 124

Warning: Invalid argument supplied for foreach() in C:\Programmer\xampp\htdocs\tecdoc\dbimport.php on line 125

Filen 203.001 ligger i mappen.

Koden:
//files2import.csv indeholder 3 filnavne, et på hver sin linje.
//203.001 er den øverste

$files = file("files2import.csv");
foreach($files as $udvalgtefiler)
    {
        import2db();
    }

Function import2db()

    {
        global $udvalgtefiler;

(124)  $fil = file ($udvalgtefiler);
(125)  foreach($fil as $linje)
        $filtype = substr($linje,26,3);
        bestemfiltype();

        }

På forhånd tak.
Avatar billede repox Seniormester
01. april 2010 - 23:56 #1
Prøv at medsende filnavnet som et argument til din funktion istedet.
Avatar billede dkfire Nybegynder
02. april 2010 - 00:01 #2
Prøv at køre en trim() på $udvalgtefiler, samt måske at sikre dig at der er en string når du giver til til file().

Function import2db()

    {
        global $udvalgtefiler;

(124)  $fil = file((string)trim($udvalgtefiler));
(125)  foreach($fil as $linje)
        $filtype = substr($linje,26,3);
        bestemfiltype();

        }


http://dk.php.net/manual/en/function.trim.php

Der ud over er det utroligt dårlig kodning at bruge global til dette formål. Undgå så vidt muligt global, det forringer din sikkerhed rigtig meget samt kan skabe "race condition" i din kode, som er meget svært at finde. ( race condition kan lede til mange fejl)

http://en.wikipedia.org/wiki/Race_condition
Avatar billede Nighthawk43 Nybegynder
02. april 2010 - 10:54 #3
Hej dkfire

Det hjalp tak for det.
Og tak for dit råd mht. brug af global.
Avatar billede Nighthawk43 Nybegynder
02. april 2010 - 11:06 #4
Det havde jeg prøvet, og det virker.

Men ellers tak for forslagt.
Jeg kørte en Trim() som dkfire forslog og så forsvandt fejlen.
Avatar billede Nighthawk43 Nybegynder
02. april 2010 - 11:08 #5
dkfire smid lige et svar, så er der lidt point.

God påske til alle
Avatar billede dkfire Nybegynder
02. april 2010 - 16:15 #6
Jeg smider et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Udviklings- og Forenklingsstyrelsen

Generalist til PMO

Udviklings- og Forenklingsstyrelsen

IT-generalister til rollen som systemejer

Udviklings- og Forenklingsstyrelsen

Business Analysts til samfundsvigtige it-projekter