Avatar billede thoeger25 Nybegynder
28. oktober 2000 - 18:28 Der er 8 kommentarer og
1 løsning

Uploadscript i PHP

Hej jeg har en apache-server kørende på en win98pc med php 3.01 jeg vil gerne have lavet et uloadsscript i php! jeg har prøvet med dette:

<html>
<head>
<title>File Upload</title>
</head>
<body>

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"foot.php3\" METHOD=\"POST\">
<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"500\">
Send this file: <INPUT NAME=\"userfile\" TYPE=\"file\"><INPUT TYPE=\"submit\" VALUE=\"Send File\">
</FORM>

<?php
// Den midlertidige fil får filnavnet angivet i <input name=\"userfile\">
// Max_file_size angiver den maximale filstørrelse i bytes, bør tjekkes på serversiden.


if (isset($userfile)) {
    // Hvis fil blev uploaded, hvis information om midlertidig fil.
    print \"Temporary filename: $userfile<br>\\n\";
    print \"Original filename: $userfile_name<br>\\n\";
    print \"Filesize: $userfile_size<br>\\n\";
    print \"MIME type: $userfile_type<br>\\n\";

    // Den midlertidige fil gemmes.
    // Husk at biblioteket skal CHMOD\'es 777.
    if ($userfile <> \"none\") {
        if (!copy($userfile,\"upload/$userfile_name\")) {
            print \"File failed to upload\";
        } else {
            print \"File uploaded\";
        }
    }
}


?>

</body>
</html>



men den laver en internal server error og på serveren skriver den at php.exe har udført en ulovlig handling!!!
Avatar billede thoeger25 Nybegynder
28. oktober 2000 - 19:19 #1
eksempel kan ses her: www.portner.adsl.dk/foot.php3
Avatar billede doeleman Nybegynder
29. oktober 2000 - 13:32 #2
Hmmm, synes jeg har set det script før :-)

På en windows-pc skal bibliotekerne angives med \\\\ istedet for / som bruges på unix-maskiner.

Prøv at erstatte:
if (!copy($userfile,\"upload/$userfile_name\")) {
med
if (!copy($userfile,\"upload\\\\$userfile_name\")) {

Har du iøvrigt husket at oprette biblioteket \"upload\" ?

Bruger du virkelig php 3.01 ???
           
           
Avatar billede thoeger25 Nybegynder
29. oktober 2000 - 13:41 #3
Hmmm, synes jeg har set det script før :-)

>>ja det er vist dit, jeg fandt det her på experten

Prøv at erstatte:
if (!copy($userfile,\"upload/$userfile_name\")) {
med
if (!copy($userfile,\"upload\\\\$userfile_name\")) {

>>er gjort

Har du iøvrigt husket at oprette biblioteket \"upload\" ?
>> ja men har flyttet det hele hertil: http://www.portner.adsl.dk/thoeger/php/
Bruger du virkelig php 3.01 ???
>> nej 3.02 min fejl
Hvis man vil bruge php4 er det så ikke nogle andre kommandoer man bruger??
Avatar billede thoeger25 Nybegynder
29. oktober 2000 - 13:47 #4
jeg får stadig internal server error (error 500)
og en php.exe: programmet har udført en ulovlig handling.
Hvordan chmoder jeg et bibliotek i apache??
Avatar billede doeleman Nybegynder
29. oktober 2000 - 13:49 #5
Langt det meste er det samme med php4.
Jeg bruger ovenstående script med php4 på en FreeBSD-maskine.
Avatar billede thoeger25 Nybegynder
29. oktober 2000 - 13:50 #6
Hvis du vil prøve skal du lige huske \"/\" efter http://www.portner.adsl.dk/thoeger/php den bliver ikke taget med i linket!
Avatar billede thoeger25 Nybegynder
29. oktober 2000 - 13:51 #7
tror du det ville hjælpe hvis jeg fik php4??
Avatar billede aggie Nybegynder
01. november 2000 - 12:31 #8
ikke nødvendigvis, det der script skulle virke fint...
Avatar billede thoeger25 Nybegynder
01. november 2000 - 14:44 #9
så er det nok min server...
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