Just nu i M3-nätverket
Jump to content

Upload... igen


lupus-dragon.com

Recommended Posts

lupus-dragon.com

Jag har försökt att anv. flera koder på min webserver... som borde funka men det gör det inte... här är koden:

 

<?

include("dblib.php");

inloggcheck($id);

 

if ($action=="upload") {

if ($Filnamn_type == 'image/gif' || $filnamn_type == "image/pjpeg" || $filnamn_type == "image/x-png") {

 

 

if ($Filnamn_type == 'image/pjpeg') { $type = '.jpg'; }

 

if ($Filnamn_type == 'image/x-png') { $type = '.jpg'; }

 

if ($filnamn_type == 'image/gif') { $type = '.gif'; }

 

 

$newfile = substr($Filnamn, -9);

 

if($Filnamn_name='') {

 

mysql_close();

header("Location: manga.php?error=3");

} else {

 

if($Filnamn_size > 2097152) {

 

mysql_close();

header("Location: manga.php?error=2");

 

} else {

 

if(!copy($Filnamn, "upload/$newfile".$type)) { mysql_close(); header("Location: manga.php?error=5"); } else {

$result = mysql_query("INSERT INTO manga SET namn='$namn', url='$newfile$type', madeby=$id, beskrivning='$information'") or header("Location: manga.php?error=1");

 

mysql_close();

header("Location: manga.php?error=4");

} } }

 

mysql_close();

 

} else { header("Location: manga.php?error=6"); }

}

?>

 

<html></html>

 

Kan någon säga vad som kan vara fel... jag har testat copy istället för move_uploaded_file.. och jag har testat båda i hop...

Jag anv. Unix webserver med php och asp stöd.. jag har chmoddat upload mappen så att anv. ska kunna skriva till den.

Hur ska jag göra för att få koden att funka (det finns en html fil som är ett formulär)

http://www.lupus-dragon.com - Manga Community

Link to comment
Share on other sites

Nu vet inte jag vilken version av php som ditt webhotell kör, men de borde köra en senare variant som använder sig av superglobaler. Om de nu gör det så fungerar inte ditt script särskilt bra eftersom du då måste använda dig av superglobalen $_FILES.

 

Om webhotellet kör version över 4.2 eller högre måste du använda denna superglobal såvida inte webhotellet har inställningen register_globals on. Efter version 4.1 bör du börja använda denna superglobal.

 

Kolla alltså detta först, och börja använda $_FILES, $_POST och $_GET istället. För att se vilken version av PHP du kör kan du skriva ett enkelt php script som ser ut som följer:

 

<? phpinfo(); ?>

 

Spara ner detta som phpinfo.php och surfa till filen på servern så får du ut en massa nyttig information, bl a vilken version av php som körs och annat bra att veta.

 

Om nu webhotellet skulle köra en äldre variant av PHP så kan du ha andra fel i din kod som jag inte ser just nu (är trött efter en dags arbetande...)

 

Titta i den eminenta manualen om hur man gör med filuppladdningar här: http://se.php.net/manual/en/features.file-upload.php

 

Ett annat fel man lätt kan göra är att glömma bort att göra enctype till multipart/form-data i form taggen, utan detta fungerar inte upload av filer vad jag vet.

 

Lycka till!

 

 

 

[inlägget ändrat 2002-09-24 15:31:36 av Bj0rN]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...