Gå til innhold

Problemer med filopplastningscript


Anbefalte innlegg

Skrevet (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 av joakim@hortensgutta
Videoannonse
Annonse
Skrevet (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 av joakim@hortensgutta
Skrevet

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. :)

Skrevet

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

Skrevet

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".

Skrevet

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.

Skrevet

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 ;)

Skrevet

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å?

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å
×
×
  • Opprett ny...