Avatar billede ullidk Nybegynder
10. februar 2005 - 21:50 Der er 5 kommentarer og
1 løsning

Problemer med upload script

Hejsa,

Har et upload script som jeg VED virker på Unix for jeg har det kørerende på en Unix server uden problemer. Nu skal jeg så bare have det til at virke på NT:



CONFIG.PHP:
------------
$abpath = "ABSOLUT STI TIL BILLEDMAPPE"

-----------------------
UPLOAD.PHP
----------------------

<?php



require('config.php');



function error ($error_message) {

    echo $error_message."<BR>";

    exit;

}

if (isset($_REQUEST['submitted2'])){

umask (0);
$createdir = $_POST['newdir'];
mkdir("$abpath/$createdir", 0755);

//chmod ("$abpath/$newdir",0777);

}



if (isset($_REQUEST['submitted'])){ // Begin processing portion of script





$log = "";



for ($i=0; $i<$number_of_uploads; $i++) {


$j=$i + 1;

    //checks if file exists

    if ($_REQUEST['img_name[i]'] == "") {

        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ingen fil valgt til upload $j<br>";

    }



    if ($_REQUEST['img_name[i]'] != "") {

        //checks if file exists

        if (file_exists("$abpath/$select/$img_name[$i]")) {

            $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j eksisterer allerede i den angivne mappe<br>";

        } else {



            //checks if files to big

            if (($sizelim == "yes") && ($img_size[$i] > $size)) {

                $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j er for stor - grænsen er $size<br>";

            } else {





                //Checks if file is an image

                if( (substr($img_name[$i],-3)=="gif") || (substr($img_name[$i],-3)=="jpg")  || (substr($img_name[$i],-3)=="JPG") || (substr($img_name[$i],-3)=="txt") || (substr($img_name[$i],-3)=="TXT") || (substr($img_name[$i],-3)=="GIF") ) {

                    @copy($img[$i], "$abpath/$select/$img_name[$i]") or $log .= "Kunne ikke kopiere billed 1 til serveren<br>";

                    if (file_exists("$abpath/$select/$img_name[$i]")) {

                        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j was uploaded<br>";

                    }

                    } else {

                        $log .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fil nr. $j er ikke en billed- eller tekstfil<br>";

                    }

                }

            }

        }

    }



?>



<html>

<head>
<link rel="stylesheet" type="text/css" href="gallery.css">


</head>

<body link="#778899" vlink="#778899" alink="#778899" text="#778899" bgcolor="#FFFFFF" bgproperties="fixed">

<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Log:</b><p>

<?



echo "$log";



?>

</p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="upload.php"><b>Tilbage</b></a>

<body>

</html>

<?

exit;

} // End processing portion of script

?>



<html>

<head>

<title>Upload nye billeder</title>
<link rel="stylesheet" type="text/css" href="gallery.css">


</head>

<body link="#778899" vlink="#778899" alink="#778899" text="#778899" bgcolor="#FFFFFF" bgproperties="fixed">
<font size="1">
<p>
<br>
<br>
<form method="POST" action="upload.php" enctype="multipart/form-data">

<input type="hidden" name="submitted2" value="true">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><font color="#778899">Opret ny billedmappe: &nbsp;</b><input type="text" name="newdir"></font>

<input type="submit" name="submit" value="Opret">

</form>

<form method=POST action=upload.php enctype=multipart/form-data>

<?php

$dh = opendir($dir);

while($file = readdir($dh))

{

if ($file != "." && $file != ".." && is_dir($file)) 

{$dname[] = $file;

sort($dname);

reset ($dname);

}

}


print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
print "<font color=\"#778899\"><b>Upload til:&nbsp;</b> <select name=\"select\"></font>";

print "<option value=\"#\">Vælg. . .</option><br>\n";

$u=0;

foreach($dname as $key=>$val)

  {  if($dname[$u]) 

{
    print "<option value=\"$dname[$u]\">$dname[$u]</option>\n";

$u++;

}

}

print "</select>";



?>

<p><b><font color="#778899">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Filer der skal uploades:</b></font<p>

<?php

for ($j=0;$j<$number_of_uploads;$j++) {

?>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=file name=img[] size=30><br>

<?

}

?>

<br>

<input type="hidden" name="submitted" value="true">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="submit" name="submit" value="Upload">

</form>


</body>
</html>




Når jeg kører scriptet får jeg flg. fejl:
Notice: Undefined index: img_name[i] in xxx on line 79
Notice: Undefined index: img_name[i] in xxx on line 87


Har prøvet med ISSET-bla-bla, men det virker ikke...
HJÆLP:-)
Avatar billede avminarm Juniormester
10. februar 2005 - 22:31 #1
det er et problem i din php.ini - du har garanteret sat errorreporting til ALL
Avatar billede avminarm Juniormester
10. februar 2005 - 22:32 #2
åben php.ini ret error_reporting til:

error_reporting  =  E_ALL & ~E_NOTICE

husk at genstarte den server bagefter :o)
Avatar billede avminarm Juniormester
10. februar 2005 - 22:39 #3
alternativt kan du benytte ini_set() øverst i scriptet
Avatar billede ullidk Nybegynder
10. februar 2005 - 22:44 #4
Ville nu gerne have scriptet til at virke, ikke bare kvæle fejlmeddelelser. Har prøvet med E_ALL etc. men så forsvinder kun fejlMEDDELELSEN - scriptet virker stadig ikke.
Avatar billede avminarm Juniormester
11. februar 2005 - 11:14 #5
det er ikke en fejlmeddelelse det er kun en notice - derfor må der ligge en fejl i scriptet et eller andet sted eller også er PHP ikke konfigureret rigtigt på din NT? (tror jeg). Prøv at sammenligne ini filerne
Avatar billede ullidk Nybegynder
14. februar 2005 - 09:56 #6
Som sagt - det PRÆCIS identiske script kører fint på en Unix maskine så der er ikke fejl i scriptet. Men lad nu det ligge - har ændret det til ASP i stedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester