Gå til innhold

Opplastning script feil - kun gif


Anbefalte innlegg

Hei,

jeg driver med et lite opplastning script men får bare til å laste opp .gif filer? :S

 

Feilmelding:

Warning: fopen() [function.fopen]: Filename cannot be empty in /mounted-storage/home123c/sub004/sc68827-UXLE/fly1.no/inc/uploader.php on line 85

 

Warning: fread(): supplied argument is not a valid stream resource in /mounted-storage/home123c/sub004/sc68827-UXLE/fly1.no/inc/uploader.php on line 85

 

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /mounted-storage/home123c/sub004/sc68827-UXLE/fly1.no/inc/uploader.php on line 86

 

Kode:

	 if(!$_POST['submit']) {
 	echo '<form method="post" action="" enctype="multipart/form-data"> 
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="'.$maks.'"> 
<h3>Velg bilde:</h3> 
<input type="file" name="form_data" id="form_data"  size="40"> <br />
<input type="submit" name="submit" class="submit" value="Last opp"> 
</form>
<p><i>Det er for tiden bare mulighet for å laste opp et bilde om gangen, utvidelse kommer snart!<br />
 Det er mulighet for å laste opp <b>.jpg</b> (Kommer flere etter hvert!) og maks filstørrelse er <b>10 MB</b><br /></i></p>';
 } else {

 	extract($_FILES['form_data']); 
	$data = mysql_escape_string(fread(fopen($tmp_name, "rb"), filesize($tmp_name))); 
	$info = getimagesize($tmp_name); 
	$width =$info[0]; 
	$height=$info[1];

	echo $_FILES['form_data']['type'];

if(in_array($_FILES['form_data']['type'], $format)){
	$result=MYSQL_QUERY("INSERT INTO bilde_bank (bruker,time,img_key,bin_data,filename,filesize,filetype,height,width) VALUES ('".$_SESSION['han']."', '".time()."', '".sha1(time() . $_SESSION['han'])."', '".$data."','".$name."','".$size."','".$type."','".$height."','".$width."')");
	print '<h2>Vellykket!</h2>
	<b>Bildet ble lastet opp, legg gjerne igjen noen detaljer nedenfor slik at du kan kjenne igjen bildet senere.</b><br /><br />

	<form action="" method="POST">
		<b>Tittel:</b><br />
		<input type="text" name="tittel"><br />
		<b>Beskrivelse:</b><br />
		<textarea name="tekst"></textarea><br />
		<input type="submit" class="submit" value="Legg til beskrivelse!" name="oppdater">
	</form>';
} else {
	echo '<h2>Misslykket!</h2>
	<font color="red">Vi beklager men bildet du forsøkte å laste opp hadde ikke et gyldig format. <a href="index.php?inc=uploader">Prøv igjen!</a></font>';
}

 }

 echo '</div>';

Lenke til kommentar
Videoannonse
Annonse
Du har ikke gitt $tmp_name noen verdi.

'

han kjører extract() så det skal vel være i orden. Jeg lurer på hvor han setter $format?

Hm.. La ikke merke til det. (Vil forøvrig anbefale å la være å bruke extract)

Feilmelding tyder helt klart på at $tmp_name inneholder en tom streng (""), men jeg klarer ikke å se hvorfor.

Lenke til kommentar

En ting som slo meg er at Windows, eller rettere sagt IE, sender en ikke-standard «mime type» for blant annet jpeg (image/pjpeg). Hvis du ikke har testet i andre nettlesere/OS så kan dette fort være problemet. Et kjekt tips her er å legge ved «mime type» som faktisk blir sendt i feilmeldingen du skriver ut, så ser du lett hva som skjer.

Lenke til kommentar
En ting som slo meg er at Windows, eller rettere sagt IE, sender en ikke-standard «mime type» for blant annet jpeg (image/pjpeg). Hvis du ikke har testet i andre nettlesere/OS så kan dette fort være problemet. Et kjekt tips her er å legge ved «mime type» som faktisk blir sendt i feilmeldingen du skriver ut, så ser du lett hva som skjer.

Som du kanskje ser så er inputen tom basert på feilmeldingen. Sjekken i forhold til format har ingenting og si. Har også prøvd i Chrome, Firefox, IE og Opera i Windows. Alle gir det samme...

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...