Vedr. Fil håndtering, problemer med navne

Tags:    php

Hej,

jeg har et problem med at jeg hvis jeg nu har en fil der hedder: haha_123ahsdk2.jpg så skal jeg finde således at den kun finder haha delen, altså at den stripper alt efter _ og _ med. Og det er dynamisk så det er altså ud fra en post. Det er for at tjekke om filen der indeholder noget med haha findes og hvis den gør skal den slettes.

Teknisk eksempel som jeg forestiller mig det :P =>
Fold kodeboks ind/udPHP kode 


Mange tak :D



Indlæg senest redigeret d. 26.03.2009 18:46 af Bruger #13723
Prøv:

Fold kodeboks ind/udKode 




Ahhh! Det virker jo som en drøm :D Ved du så hvordan jeg skal lave file_exists? fordi den er jo ret præcis og den skal jo kun kontrollere om der er haha i eller ej. Så helt præcists file_exits(Fil der indeholder noget med haha)
Igen mange tak!




Indlæg senest redigeret d. 26.03.2009 20:20 af Bruger #13723
Ahhh! Det virker jo som en drøm :D Ved du så hvordan jeg skal lave file_exists? fordi den er jo ret præcis og den skal jo kun kontrollere om der er haha i eller ej. Så helt præcists file_exits(Fil der indeholder noget med haha)
Igen mange tak!


Er ikke sikker på jeg forstår spørgsmålet korrekt?

Du har en fil: EtEllerAndet.filtype

Du vil kun tjekke om filen eksisterer hvis der står haha i dens filnavn foran '_'?

Ovenstående kode jeg skrev giver dig strengen foran '_' altså hvis filen hedder haha_12456.jpg bliver strengen haha. Du ønsker så at slette haha.filtype hvis den fil eksisterer:

Så kan du eventuelt gøre følgende (hvis jeg altså har forstået korrekt):

Fold kodeboks ind/udKode 


Du kan også fjerne '+ 1' og ". '.' ." hvis du synes det er bedre. Grunden til jeg lavede det sådan her var for at så kunne du bruge variablen $filtype til andet.



Ja undskyld det er mig der er forvirende. Det skrev var helt perfekt og kan godt bruges. Men det jeg gerne vil opnå er:

Jeg har en fil der hedder haha_123.gif
Jeg har en form hvorfra der er en værdi der hedder haha og kun det.
Så er det så meningen at hvis der allerede findes en fil der indeholder bare haha, så skal den slettes.
Hvorefter jeg har en kode der laver en ny fil med nyt nummer. Så kort sagt en overlapnings metode.Og jeg har forstået det med prefiks og sortere haha fra men jeg ved ikke hvordan jeg tjekker om der står haha i filen og hvis der gør bliver den slettet og erstattet.
Kan man evt. bruge noget med nogle ekspressions?


Håber det var til at forstå :D



Indlæg senest redigeret d. 26.03.2009 22:06 af Bruger #13723
Er man sikker på at haha altid vil være dee første 4 bogstaver i filnavnet?

Hvis, så har du ikke brug for expressions og kan blot bruge almindelige strengfunktioner. Hvis du ikke kan være sikker på at det er det første i filnavnet kan du bruge expressions, men det kan stadig os gøre med strengfunktionerne.

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 26.03.2009 22:48 af Bruger #14645
kunne vel også bare skrive noget i retning af:
Fold kodeboks ind/udKode 





Er man sikker på at haha altid vil være dee første 4 bogstaver i filnavnet?

Hvis, så har du ikke brug for expressions og kan blot bruge almindelige strengfunktioner. Hvis du ikke kan være sikker på at det er det første i filnavnet kan du bruge expressions, men det kan stadig os gøre med strengfunktionerne.

Fold kodeboks ind/udKode 

Ja det er noget i den stil men den fil den skal finde i file_exists skal bare være en fil der indholder noget med haha det skal ikke være præcis haha.jpg men haha_tilfældigther.jpg og så er det meningen at der bare skal tjekkes om filnavnet indeholder noget med haha og hvis den gør det skal den slettes.



Er man sikker på at haha altid vil være dee første 4 bogstaver i filnavnet?

Hvis, så har du ikke brug for expressions og kan blot bruge almindelige strengfunktioner. Hvis du ikke kan være sikker på at det er det første i filnavnet kan du bruge expressions, men det kan stadig os gøre med strengfunktionerne.

Fold kodeboks ind/udKode 

Ja det er noget i den stil men den fil den skal finde i file_exists skal bare være en fil der indholder noget med haha det skal ikke være præcis haha.jpg men haha_tilfældigther.jpg og så er det meningen at der bare skal tjekkes om filnavnet indeholder noget med haha og hvis den gør det skal den slettes.


Så skal du bare udskifte $nyfil med $filtype i koden:

...
if(file_exists($dir$filnavn)
...



t