webForumDet fria alternativet

Filuppladdning mot databas?

PHPur PHP

6 svar · 354 visningar · startad av wysiwyg

Medlem sedan juni 200137 inlägg
Frågan#1

Hej!

Jag är nybörjare på PHP och håller på att läsa lite böcker och sådant för tillfället, nu är det så att jag även håller på att bygga upp en hemsida med hjälp av php-nuke och tänkte försöka mig på att göra en egen "modul" till det som gör så att administratörerna kan ladda upp filer till servern. Har börjat med en väldigt simpel test på filuppladdningen bara för att se om det ska funka och hade tänkt utveckla det senare, men felet är att det inte funkar... Skriver hela koden, ganska mycket text, men någon kanske kan se var felet ligger... Har alltså kollat på de andra modulernas början för att försöka lista ut hur man känner av inloggning och så, så det här kan vara totalt fel allt ihop :)...

Edit: kod borttagen, fräschare kod längre ner...

Tacksam för hjälp :)

Medlem sedan feb. 20012 412 inlägg
#2

Får du något felmeddelande?

Medlem sedan juni 200137 inlägg
#3

På min dator får jag upp felmeddelandet "Åtkoms nekad blablabla..." som anges där uppe i början vilket är logiskt då jag inte har databasen på min dator, när jag därmot laddar upp filen till webbhotellet och försöker komma åt den därifrån är sidan bara helt blank.

Medlem sedan feb. 20012 412 inlägg
#4

Du skriver inte ut något vid lyckad uppladdning, hamnar inte filerna på servern?

Medlem sedan juni 200137 inlägg
#5

Sidan kommer inte fram i överhuvudtaget, formuläret visas inte ens, så jag kan inte bläddra mig fram till filerna...

Dessutom så skriver jag faktiskt ut vid lyckad uppladdning genom

if($submit) {

$tmpfil = $HTTP_POST_FILES["fil"]["tmp_name"];
print "$tmpfil <br>";

$fil = $HTTP_POST_FILES["fil"]["name"];
print "$fil";

move_uploaded_file("$tmpfil", "./tmp/filer/$fil");

Skriver bara ut filnamnen, men det skrivs iaf ut.

Men alltså, sidan är helt blank.

Medlem sedan juni 200137 inlägg
#6

Öhh, haha... hittade ett ganska stort fel nu...

echo "<form enctype=\"multipart/form-data\" action=ex42.php method=POST>";

Filen heter inte ex42.php, ska kolla upp om detta är felet och återkommer...

edit: Det funkade inte heller för att jag ändrade detta, fortfarande samma blanka sida... Alltså, jag är som sagt nybörjare, så det kan mycket väl vara någon väldigt viktig del som är helt borta i det här scriptet ;). Säg gärna till isf. :)

edit2: har nu skrivit om lite grann, hade glömt variablerna upptäckte jag ju :D (edit 3: vid närmare eftertanke kanske dessa bara är helt onödiga?) ;) Fan vad kaos det blev nu :D

/*********************************************************/
/* Uppladdningsfunktion                                  */
/*********************************************************/
function upload() {
    global $submit, $tmpfil, $fil;
    include ("header.php");
    GraphicAdmin();
    OpenTable();
    if($submit) {

       $tmpfil = $HTTP_POST_FILES["fil"]["tmp_name"];
       print "$tmpfil <br>";

       $fil = $HTTP_POST_FILES["fil"]["name"];
       print "$fil";

       move_uploaded_file("$tmpfil", "./tmp/filer/$fil");

(Skriver bara ut från det område som jag ändrade i... satte global-variabler på submit, tmpfil, fil plus att jag gjorde en function av del hela... inte för att jag vet vad det tjänar till, men jag gjorde det för att jag kände på mig att det skulle funka då, men icke :).

Medlem sedan juni 200137 inlägg
#7

Har skrivit om det så det blir lite tydligare vad som händer (förhoppningsvis)

<?php 

/*******************************************************************/ 
/* Uppladdningssystem till PHPNUKE                                 */ 
/* ===========================                                     */ 
/*                                                                 */ 
/* Copyright (c) 2002 by David Nilsson                             */ 
/*                                                                 */ 
/*******************************************************************/ 

/*********************************************************/ 
/* Kollar om du är inloggad administratör                */ 
/*********************************************************/ 

if (!eregi("admin.php", $PHP_SELF)) { die ("Åtkomst nekad, du måste vara inloggad administratör. <a href=\"admin.php\">Logga in</a>"); } 

$result = sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'", $dbi); 
list($radminsuper) = sql_fetch_row($result, $dbi); 

if ($radminsuper==1) { 
upload(); 
} 

else { 
    echo "Åtkomst nekad, du måste vara inloggad administratör. <a href=\"admin.php\">Logga in</a>"; 
} 

/*********************************************************/ 
/* Uppladdningsfunktion                                  */ 
/*********************************************************/ 
function upload() { 
    global $submit, $tmpfil, $fil; 
    include ("header.php"); 
    GraphicAdmin(); 
    OpenTable(); 
    if($submit) { 

       $tmpfil = $HTTP_POST_FILES["fil"]["tmp_name"]; 
       print "$tmpfil <br>"; 

       $fil = $HTTP_POST_FILES["fil"]["name"]; 
       print "$fil"; 

       move_uploaded_file("$tmpfil", "./filer/$fil"); 

/*********************************************************/ 
/* Formulär                                              */ 
/*********************************************************/ 

echo "<form enctype=\"multipart/form-data\" action=upload.php method=POST>"; 
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\">"; 
echo "<input name=\"fil\" type=\"file\">"; 
echo "<input type=\"submit\" name=submit value=\"Skicka fil\">"; 
echo "</form>"; 
} 
} 
?>

Hoppas någon kan hjälpa mig nu ;)

134 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)