08. august 2005 - 15:31Der er
8 kommentarer og 1 løsning
Tjek om fil eksisterer
Hej.
Med mit upload script skal den tjekke om den valgte fil eksisterer. Jeg har prøvet med file_exists($_FILES["billede"]["tmp_name"], men den returner hele tiden true fordi at TMP'en eksisterer, men der bare ikke er noget billede.
Det skal fungerer sådan at man ikke kan pege på et billede med gennemse, og så bagefter slette billedet på computeren(eller ændrer på billedets navn i billede-feltet.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan med PHP ikke tjekke, om brugeren har filen liggende lokalt på sin computer, hvis det er det du mener? Hvis du vil tjekke, om billedet allerede ligger på din server, så er det ikke tmp-navnet du skal bruge, men navnet: $_FILES['billede']['name'].
Ellers må du lige prøve med en bedre beskrivelse af dit problem :)
Jeg har et fil-felt: <input type="file" name="minfil">
Der kommer denne: _____________________ ___________ |____________________| |_Gennemse_|
En upload boks. Når der bliver trykket på Gennemse... så kan brugeren vælge en fil. Hvis han vælger en ZIP fil eller noget som IKKE er jpg eller gif, så melder den fejl(virker), og hvis filden fylder for meget melder den fejl som også virker.
Men, hvis brugeren nu har valgt et billede, så står der i den første boks på figuren ovenover fx:
C:\Documents and settings\HC Andersen\Skrivebord\billede.jpg
Hvis nu at han så går ind på sin PC og sletter billede.jpg som ligger på skrivebordet, eller bare går ind og ændrer teksten til:
C:\Documents and settings\HC Andersen\Skrivebord\billede2.jpg (som ikke eksisterer)
Så vil den melde en masse fejl med at den ikke kan finde et billede og alt muligt.
Det virker bare ikke, og jeg regner med at det er fordi at billedet bliver uploadet i TMP mappen, men at der bare ikke er noget billede i filen. Hvis du forstår.
Hvis du forsøger at uploade et billede til server der ikke findes lokalt, så skulle PHP meget gerne selv brokke sig, eller i hvert fald skulle du kunne kontrollere på move_uploaded_file() om filen med success er blevet sendt til serveren.. du kan IKKE skrive en kontrol client-side !-)
Hvis du skal tage højde for, at brugeren vælger en fil - sletter den - og efterfølgende prøver at uploade den ... så kan jeg da lynhurtigt komme i tanker om 2-300 andre ting, du også bør tage højde for.
Umiddelbart kunne jeg da forestille mig, det er mere sandsynligt, at brugeren koger suppe på sin nyindkøbte kattekilling og hælder suppen i keyboardet - sætter sin monitor i mikrobølgeovnen - og efterfølgende ikke forstår, han ikke kan uploade billedet :D
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.