Gå til innhold

[Løst]Sjekke om fil eksisterer på windows share


Anbefalte innlegg

Skrevet

Viser til denne tråden: Opprette fil på windows share

 

Jeg får nå opprettet fila på serveren, men jeg behøver å sjekke om filen finnes fra før. Hvordan gjør jeg det? Har sett en del(!) på klassen, men finner ikke ut av det.

Har også forsøkt med file_exists() men det funker ikke.

Videoannonse
Annonse
Skrevet

Var ikke så enkelt :( Mulig jeg gjør noe feil, men tester slik:

 

$x = 0;
$filename = "smb://brukernavn:passord@serv01/fildeling/dokument".$x.".000";
$fp = fopen($filename, "r");
while($fp==false){
$x++;
$filename = "smb://brukernavn:passord@serv01/fildeling/dokument".$x.".000";
$fp = fopen($filename, "r");
}

Skrevet

Ok, har testet og funnet ut at dette fungerer:

 

$x = 0;
$filename = "smb://brukernavn:passord@serv01/fildeling/dokument".$x.".000";
while(is_readable($filename) === true){
$x++;
$filename = "smb://brukernavn:passord@serv01/fildeling/dokument".$x.".000";
}

 

Men... når filen ikke finnes genereres en feilmelding som jeg ikke kommer utenom:

Fatal error: NO_SUCH_FILE listing in ... smb.class.php on line 161

 

Har også funnet ut at mitt opprinnelige forsøk med file_exists() faktisk fungerer, men feilmelding som spesifisert blir generert når fila ikke finnes.

Skrevet (endret)

Du får endre error_reporting med ini_set() for den delen av koden da.

 

F.eks:

ini_set('error_reporting','none');
kode_som_genererer_feil();
ini_set('error_reporting','E_ALL');

Endret av Jckf
Skrevet

Ja, men problemet er at scriptet ikke kjører videre. Alt stopper opp der. Så med andre ord hjalp ikke det :p

 

I klassen ser jeg at feilmeldingen blir generert av trigger_error funksjonen. Hvordan kan jeg håndtere denne uten at scriptet stopper. Må jeg lage en egen error handler? Har forsøkt å se i php manualen, men kan ikke si at jeg ble noe klokere av den grunn.

Skrevet

Fungerte ikke det heller.

Men har bestemt meg for å gå rundt hele problemet. Skjønner ikke helt hvorfor jeg ikke tenkte på det før men... Jeg mounter nettverksplasseringen på serveren og jobber med katalogen lokalt :new_woot:

Skrevet

Jckf: Han fikk en Fatal Error, da funker ikke @ særlig godt siden scriptet stopper der

 

Og

while($fp==false){

Burde byttes ut med

while(!feof($fp)){

siden dette er en stream

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...