corsa91 Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Løst Endret 2. april 2013 av corsa91 Lenke til kommentar
barentshavet Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Et lite tips. Ikke bruk W3Schools. En veldig dårlig kilde. Se ref W3Fools. Undefined index er en notis om at variablen er tom. Dette kan fjernes ved å bruke isset() Prøv deg frem. I verste fall kan du sette error_reporting(E_ERROR | E_PARSE); i toppen av PHP-filen eller evt. konfiguere Apache. Du bør selvfølgelig løse problemet, ikke bruke workarounds. Erstatt $extension = end(explode(".", $_FILES["file"]["name"])); med $tmp = explode(".", $_FILES["file"]["name"]); $extension = end($tmp); End krever en referanse. explode(".", $_FILES["file"]["name"]); kan ikke bli omgjort til en referanse. Det er derfor du må tilordne et resultat av explode(".", $_FILES["file"]["name"]); til en variabel. Endret 25. mars 2013 av winter2012 Lenke til kommentar
corsa91 Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 (endret) Et lite tips. Ikke bruk W3Schools. En veldig dårlig kilde. Se ref W3Fools. Takk for tipset. Undefined index er en notis om at variablen er tom. Dette kan fjernes ved å bruke isset() Prøv deg frem. I verste fall kan du sette error_reporting(E_ERROR | E_PARSE); Det fungerte med isset men da dukket det opp en annen feil. Får opp denne istedet: Parse error: syntax error, unexpected ')' in C:\Program Files (x86)\xampp\htdocs\test\upload_file.php on line 2 Med error_reporting(E_ERROR | E_PARSE); så ble alle feilmeldinger borte noen den skal gjøre men jeg får fortsatt opp "Invalid file". Filtypen er jo riktig. Lastet opp en doc fil i toppen av PHP-filen eller evt. konfiguere Apache. Du bør selvfølgelig løse problemet, ikke bruke workarounds. Erstatt $extension = end(explode(".", $_FILES["file"]["name"])); med $tmp = explode(".", $_FILES["file"]["name"]); $extension = end($tmp); End krever en referanse. explode(".", $_FILES["file"]["name"]); kan ikke bli omgjort til en referanse. Det er derfor du må tilordne et resultat av explode(".", $_FILES["file"]["name"]); til en variabel. Hva mener du med det siste End krever referanse..... Endret 25. mars 2013 av corsa91 Lenke til kommentar
corsa91 Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 (endret) Løst Endret 2. april 2013 av corsa91 Lenke til kommentar
barentshavet Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Du bruker MIME-typer så du må passe på at disse er korrekte. Her er en liste over Microsoft Office MIME-typer. Og jeg ser du setter "isset()" i toppen av koden din. Dette er feil bruksområde, men konsentrer deg om denne koden først så kan jeg hjelp deg videre. Så fjern denne. Du kan foreløpig bruke error_reporting(E_ERROR | E_PARSE); i toppen av koden din. "Invalid file" oppstår fordi du ikke har spesifisert riktig MIME-typer eller at filformatet ikke er støttet av opplasteren din, noe du selv kan justere på. I den forrige koden jeg la ut fungerte det fint når jeg lastet opp bilder fordi MIME-typene er riktig. Derimot er ikke for eksempel "documents/doc" en gyldig type så dette ville ikke fungert. Og angående spørsmålet ditt om "End" så mente jeg at slik koden var satt opp ikke ble riktig i henhold til PHP-manualen. Dette fikset jeg på, så om du lurer på noe mer ang. dette kan du selv lese deg opp på explode, array og variabler. Hvordan fungerer dette for deg? $allowedExts = array("gif", "jpeg", "jpg", "png", "doc", "docx", "ppt", "pptx", "pdf"); $tmp = explode(".", $_FILES["file"]["name"]); $extension = end($tmp); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/png") || ($_FILES["file"]["type"] == "application/msword") || ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") || ($_FILES["file"]["type"] == "application/application/vnd.ms-powerpoint") || ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.presentationml.presentation") || ($_FILES["file"]["type"] == "application/pdf")) && ($_FILES["file"]["size"] < 9800000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br>"; echo "Type: " . $_FILES["file"]["type"] . "<br>"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Lagret i: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } } Endret 25. mars 2013 av winter2012 Lenke til kommentar
ventle Skrevet 26. mars 2013 Del Skrevet 26. mars 2013 I og med at det ikke gir noen mening å bruke isset() uten å sende noe argument med (tips: se PHP-manualen) er det kanskje ikke ett veldig nyttig tips fra min side, men parse error'en kommer av at du har glemt semikolon etter isset()... Lenke til kommentar
corsa91 Skrevet 26. mars 2013 Forfatter Del Skrevet 26. mars 2013 For en feilmelding: Parse error: syntax error, unexpected ')' in C:\Program Files (x86)\xampp\htdocs\test\upload_file.php on line 1 Fjernet selvsagt siste } da det var feil. Men er det mulig å legge inn en tidsinstilling eller noe sånt via en form slik at etter kl 12 på mandag så er det ikke mulig å levere inn. Og legge inn i flere mapper. Lenke til kommentar
barentshavet Skrevet 26. mars 2013 Del Skrevet 26. mars 2013 (endret) For en feilmelding: Parse error: syntax error, unexpected ')' in C:\Program Files (x86)\xampp\htdocs\test\upload_file.php on line 1 Fjernet selvsagt siste } da det var feil. Men er det mulig å legge inn en tidsinstilling eller noe sånt via en form slik at etter kl 12 på mandag så er det ikke mulig å levere inn. Og legge inn i flere mapper. Hvis du har problemer med koden må du legge den ut. Er dessverre ikke synsk:) Og ja, det går fint an å legge til en tidsinnstilling. Forumet er derimot ikke et sted hvor vi skal gi deg koder i fleng, men et sted hvor vi kan hjelpe deg med problemer. Så foreslår at du googler og researcher litt selv på time() og date(). Det blir også en veldig uryddig tråd om jeg skal hjelpe deg med dette i tillegg. Endret 26. mars 2013 av winter2012 Lenke til kommentar
corsa91 Skrevet 26. mars 2013 Forfatter Del Skrevet 26. mars 2013 skjønner. Var egentlig ikke ute etter en ferdig kode. Men har lyst til å få hjelp med ting. Men takk for svaret. Skal google litt Lenke til kommentar
barentshavet Skrevet 27. mars 2013 Del Skrevet 27. mars 2013 skjønner. Var egentlig ikke ute etter en ferdig kode. Men har lyst til å få hjelp med ting. Men takk for svaret. Skal google litt Neida, skjønner det. Kan prøve å finne det ut for deg om du forsatt lurer på dette. Fungerer opplasteren da? Lenke til kommentar
corsa91 Skrevet 28. mars 2013 Forfatter Del Skrevet 28. mars 2013 (endret) Opplasteren fungerer nå. Planen er at man skal opprette en database som holder oversikt over tid og dato. Og når den datoen har passert så skal man ikke ha mulighet til å gå inn for å legge inn filer. Den skal med andre ord synkronisere med databasen. Har et spørsmål første linje er riktig men hva blir det på linje 2. Altså her: mysql_select_db('?????')or Bruker Xampp mysql_connect(‘'localhost','root','','root','test',’) or die('Kan ikke koble til db'); mysql_select_db('')or die('Kan ikke koble til databasen. Vennligst kontakt admin.'); Kanskje jeg spør litt for mye... Men som sagt er det en del år siden jeg sist jobbet med PHP og merker at jeg trenger litt oppfriskning. Endret 30. mars 2013 av corsa91 Lenke til kommentar
Leakim Skrevet 21. april 2013 Del Skrevet 21. april 2013 Hvorfor i alle dager endrer du mange av innleggene til "Løst"? Så viktig å slette alle spor av at du lurte på noe? Denne tråden kunne vært til god hjelp for andre senere, slik at de kanskje ikke hadde trengt å stille de samme spørsmålene. :nei: :nei: :nei: Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå