Joakim Gjerde Skrevet 20. september 2006 Rapporter Del Skrevet 20. september 2006 (endret) Hei. Sitter å lager et script som skal laste opp filer til en mysql database. Men sliter med et par problemer. Får disse feilmeldingene Skjult tekst: (Marker innholdet i feltet for å se teksten): Warning: fread(): supplied argument is not a valid stream resource in c:\Inetpub\wwwroot\til.php on line 28 Warning: fclose(): supplied argument is not a valid stream resource in c:\Inetpub\wwwroot\til.php on line 30 Og kildekoden ser slik ut Skjult tekst: (Marker innholdet i feltet for å se teksten): <? if(isset($_POST['upload'])) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'a+'); $content = fread($fp, $fileSize); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } include 'database.php'; $dbh; $db; $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); echo "<br>File $fileName uploaded<br>"; } ?> <form action="" method="post" enctype="multipart/form-data" name="uploadform"> <table width="350" border="0" cellpadding="1" cellspacing="1" class="box"> <tr> <td width="246"><input type="hidden" name="MAX_FILE_SIZE" value="2000000"><input name="userfile" type="file" class="box" id="userfile"> </td> <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td> </tr> </table> </form> </body> </html> Håper noen kan hjelpe meg med denne! Endret 20. september 2006 av joakim@hortensgutta Lenke til kommentar
Knebba Skrevet 20. september 2006 Rapporter Del Skrevet 20. september 2006 den finner ikke fila, men a+ skal jo lage fila hvis ikke den finnes. prøv å skriv "a+" altså med dobbelfnutter.. Lenke til kommentar
Joakim Gjerde Skrevet 20. september 2006 Forfatter Rapporter Del Skrevet 20. september 2006 (endret) Du var inne på noe der ja. Måtte gjøre om fra a+ til r for read i tillegg tilå bytte til "r", dobbelfnuttene dine Var for gått til at det bare var det som skulle gjøres men... Nå funker det med .log filer, men den takler ikke sånn som jpeg, doc og den type filer.. Noen som har noen andre forslag? Endret 20. september 2006 av joakim@hortensgutta Lenke til kommentar
funkyboy Skrevet 21. september 2006 Rapporter Del Skrevet 21. september 2006 Hadde heller villet lastet opp filer til det ordinære filsystemet enn å lastet de opp i en database. Lagre heller path og data om filen i databasen. Copy() er en fin funksjon. Lenke til kommentar
Joakim Gjerde Skrevet 21. september 2006 Forfatter Rapporter Del Skrevet 21. september 2006 Noen spesiell grunn til at du heller ville gjort det? Noen fordeler/ulemper? Mvh Joakim Gjerde Lenke til kommentar
endrebjo Skrevet 22. september 2006 Rapporter Del Skrevet 22. september 2006 Det er ingen fordeler med å ha filer i databasen. Den blir vel bare unødig tung. Lenke til kommentar
NH Skrevet 22. september 2006 Rapporter Del Skrevet 22. september 2006 skal du laste opp hele filer inn i databasen er det å annbefale å bruke "rb" ikke kun "r" you can also use 'b' to force binary mode, which will not translate your data Lenke til kommentar
Joakim Gjerde Skrevet 24. september 2006 Forfatter Rapporter Del Skrevet 24. september 2006 Det hjalp ikke det heller.. Skjønner ikke dette her jeg:( Lenke til kommentar
Ernie Skrevet 24. september 2006 Rapporter Del Skrevet 24. september 2006 Du må vel ha path, enten relativ eller full, frem til fila? Eller ligger den i samme mappe som scriptet? Lenke til kommentar
Joakim Gjerde Skrevet 25. september 2006 Forfatter Rapporter Del Skrevet 25. september 2006 Fila blir jo lastet opp fra bruker. Så blir fila sendt til den tmp mappa php har. Også blir den sendt over på mysql. Mvh Joakim Gjerde Lenke til kommentar
Ernie Skrevet 25. september 2006 Rapporter Del Skrevet 25. september 2006 Altså, hvis du leser feilmeldingen så står det at det ikke er en gyldig "stream resource". Dette vil i all hovedsak bety at du enten ikke har rettigheter på fila eller at den ikke eksisterer der du "leter". Lenke til kommentar
Joakim Gjerde Skrevet 25. september 2006 Forfatter Rapporter Del Skrevet 25. september 2006 Det har jeg skjønt, men hvis du ser på kildekoden jeg har lagt ut så er fil"rettningen" helt riktig. Det er derfor jeg ikke skjønner hvorfor jeg får den feilmeldingen. I tillegg er hele tmp, mappa til php chmod 777, så det kan da virkelig ikke være den heller. Lenke til kommentar
Ernie Skrevet 25. september 2006 Rapporter Del Skrevet 25. september 2006 Nei? Du bruker $_FILES['userfile']['tmp_name'], og sist jeg sjekket var det det midlertidige navnet på fila. Med mindre det scriptet ikke ligger i samme mappe vil altså det her ikke funke Lenke til kommentar
Joakim Gjerde Skrevet 25. september 2006 Forfatter Rapporter Del Skrevet 25. september 2006 Så du mener da at jeg skal deffinere hele rettningen til den midlertidigde mappa til php? Lenke til kommentar
Ernie Skrevet 25. september 2006 Rapporter Del Skrevet 25. september 2006 Så du mener da at jeg skal deffinere hele rettningen til den midlertidigde mappa til php? 6934547[/snapback] Jepp Lenke til kommentar
Joakim Gjerde Skrevet 25. september 2006 Forfatter Rapporter Del Skrevet 25. september 2006 Men hvis jeg ikke tar helt feil så ligger jo den inne i phpmappa. Og den får man vel ikke tilgang på den måten tror jeg.. Ingen som har et mysql upload script som jeg kan se på? Lenke til kommentar
Ernie Skrevet 25. september 2006 Rapporter Del Skrevet 25. september 2006 Ta en titt på move_uploaded_file() Lenke til kommentar
Joakim Gjerde Skrevet 25. september 2006 Forfatter Rapporter Del Skrevet 25. september 2006 Får jo ikke brukt for å flytte til database da men.... Lenke til kommentar
Ernie Skrevet 25. september 2006 Rapporter Del Skrevet 25. september 2006 nei, men du kan jo f.eks flytte den til et bestemt sted. Da veit du iallfall hvor du har filen 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å