Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem med file upload

8 views
Skip to first unread message

Kurt G

unread,
May 25, 2015, 6:57:55 AM5/25/15
to
Det er sikkert noget med, at jeg ikke har specificeret stien korrekt.
Jeg har prøvet meget, men det vil ikke lykkes.

Jeg forsøger at uploade nogle filer til et bibliotek, der ligger sådan:
www.minside.dk/B_arbejde/Dagsordener

Det ønskede filnavn til den gemte fil er i $filnavn

Koden let omskrevet:
$filnavn = "www.minside.dk/B_arbejde/Dagsordener/".$filnavn;

if( $_FILES['FIL']['name'] != "" )
{
copy($_FILES['FIL']['name'], $filnavn ) or
die( "<br>Could not copy file '$filnavn'!");
}
else
{
die("No file specified!");
}

Det lykkes ikke, jeg får fejlmeldingen:
Warning: copy(Stikord2015.txt): failed to open stream: No such file or
directory in
/customers/3/a/5/minside.dk/httpd.www/B_arbejde/UploadDagsorden.php on
line 79

Hvad gør jeg galt?
--
Mvh Kurt G

scootergrisen

unread,
May 25, 2015, 8:37:16 AM5/25/15
to

Kurt G

unread,
May 25, 2015, 11:37:59 AM5/25/15
to
Den 25-05-2015 kl. 14:36 skrev scootergrisen:
> http://netkoder.dk/netkoder/kode_uploadfiler.php


Tak, Scootergris, det er en meget anvendelig site, du der har lavet (for
jeg går ud fra, at det er dit)!

--
Mvh Kurt G

scootergrisen

unread,
May 25, 2015, 1:12:07 PM5/25/15
to
> Tak, Scootergris, det er en meget anvendelig site, du der har lavet (for
> jeg går ud fra, at det er dit)!

Yeps.

Også er der selvfølgelig PHP manualen.
Kan anbefale og hente CHM version så har du den på din computer hele
tiden og kan hurtig slå ting op : http://php.net/download-docs.php

Kurt G

unread,
May 26, 2015, 4:11:12 AM5/26/15
to
Den 25-05-2015 kl. 14:36 skrev scootergrisen:
> http://netkoder.dk/netkoder/kode_uploadfiler.php
Hej igen.
Jeg har nu stadig problemer med den upload!
Jeg bruger eksemplet 'HTML og PHP i én fil' tilpasset mine forhold.
Det kører fint, men jeg kan ikke finde den uploadede fil nogen steder!

Linie 13 og 14 er:
$uploadmappe = 'Filer/'; // mappen hvor filerne skal uploades
$uploadedefil = $uploadmappe . '/' .
basename($_FILES['filsomskaluploades']['name']);

(dette giver to '//' i stien, skal der være det?)
Der er ingen fil i 'Filer'!

Jeg har også prøvet at specificere stien fuldtud i linie13:
$uploadmappe = $_SERVER['DOCUMENT_ROOT'].'/TestU/Filer';
Ingen fejlmeldinger, men heller ingen fil uploaded!!

Ændrer jeg linie 14 til:
$uploadedefil = basename($_FILES['FDF_Fil']['name']);
kan jeg finde den uploade fil i samme dir som programfilen. Det kan
selvfølgelig bruges, men er ikke det jeg ønsker.

Hvordan får jeg den uploadede fil anbragt i mit dir 'TestU/Filer'?

--
Mvh Kurt G
Message has been deleted

scootergrisen

unread,
May 26, 2015, 9:51:29 AM5/26/15
to
> Linie 13 og 14 er:
> $uploadmappe = 'Filer/'; // mappen hvor filerne skal uploades
> $uploadedefil = $uploadmappe . '/' .
> basename($_FILES['filsomskaluploades']['name']);
>
> (dette giver to '//' i stien, skal der være det?)
> Der er ingen fil i 'Filer'!

Der skal ikke være / i slutningen af $uploadmappe så det retter jeg.

> Jeg har også prøvet at specificere stien fuldtud i linie13:
> $uploadmappe = $_SERVER['DOCUMENT_ROOT'].'/TestU/Filer';
> Ingen fejlmeldinger, men heller ingen fil uploaded!!
>
> Ændrer jeg linie 14 til:
> $uploadedefil = basename($_FILES['FDF_Fil']['name']);
> kan jeg finde den uploade fil i samme dir som programfilen. Det kan
> selvfølgelig bruges, men er ikke det jeg ønsker.
>
> Hvordan får jeg den uploadede fil anbragt i mit dir 'TestU/Filer'?

Det du skriver skulle gerne virke:
$uploadmappe = $_SERVER['DOCUMENT_ROOT'] . '/TestU/Filer';

Så skal du have oprettet "/TestU/Filer" i roden af dit webhotel.

Du kan slå fejlbeskeder til øverst i din kode med, se også
http://netkoder.dk/netkoder/kode_error.php :

ini_set("display_errors", "On"); // fejl som en del af outputtet
ini_set("display_startup_errors", "On"); // fejl som sker mens PHP starter
ini_set("error_reporting", -1); // -1 viser alle slags fejlbeskeder

Så kan det være du få besked om at der ikke er skrive adgang til mappen
eller hvad ved jeg.
Læg også mærke til at der er forskel på små og store bogstaver på Linux.

Kurt G

unread,
May 26, 2015, 2:59:41 PM5/26/15
to
Den 26-05-2015 kl. 15:50 skrev scootergrisen:
KLIPPET
>
> Det du skriver skulle gerne virke:
> $uploadmappe = $_SERVER['DOCUMENT_ROOT'] . '/TestU/Filer';
>
> Så skal du have oprettet "/TestU/Filer" i roden af dit webhotel.
>
> Du kan slå fejlbeskeder til øverst i din kode med, se også
> http://netkoder.dk/netkoder/kode_error.php :
>
> ini_set("display_errors", "On"); // fejl som en del af outputtet
> ini_set("display_startup_errors", "On"); // fejl som sker mens PHP starter
> ini_set("error_reporting", -1); // -1 viser alle slags fejlbeskeder
>
> Så kan det være du få besked om at der ikke er skrive adgang til mappen
> eller hvad ved jeg.
> Læg også mærke til at der er forskel på små og store bogstaver på Linux.

Det virker nu, jeg har flyttet til et andet domæne.
Men den virkelige fejl har nu nok været, at jeg ikke huskede at trykke
på 'refresh'-knappen på TotalCmd. Det skal man, den refresher ikke selv
om man skifter dir på serveren.

Men med indførelsen af de tre ini_set får jeg nu en fejlmelding, som jeg
ikke har haft før.

Filen er på: http://www.hsra.dk/TestU/uploader.php.

Notice: Undefined index: uploader.php in
/customers/4/c/e/hsra.dk/httpd.www/TestU/uploader.php on line 10

linie 10 ser sådan ud:
echo '<form action="' . $_SERVER['uploader.php'] . '" method="post"
enctype="multipart/form-data">' . "\r\n";

Men det virker alligevel.

Tak for hjælpen og alle tip!

--
Mvh Kurt G

scootergrisen

unread,
May 26, 2015, 3:16:47 PM5/26/15
to
> Filen er på: http://www.hsra.dk/TestU/uploader.php.
>
> Notice: Undefined index: uploader.php in
> /customers/4/c/e/hsra.dk/httpd.www/TestU/uploader.php on line 10
>
> linie 10 ser sådan ud:
> echo '<form action="' . $_SERVER['uploader.php'] . '" method="post"
> enctype="multipart/form-data">' . "\r\n";

Der står $_SERVER['SCRIPT_NAME'] i min kode så prøv med den så sender
den til sig selv lige meget hvad filnavnet med koden hedder.

Hvis du lægger upload formularen frit tilgængeligt på din hjemmeside så
væk opmærksom på at folk/botter forsøger at uploade filer med kode så de
kan få adgang til din hjemmeside.

Kurt G

unread,
May 26, 2015, 5:18:59 PM5/26/15
to
Tak for tip'et.

Jeg regner med at begrænse filtyperne til pdf-filer, de er vel ikke farlige?
--
Mvh Kurt G

scootergrisen

unread,
May 26, 2015, 6:32:04 PM5/26/15
to
> Jeg regner med at begrænse filtyperne til pdf-filer, de er vel ikke
> farlige?

Der står noget om det i bunden af siden.

Du kunne lave noget login hvis det kun er nogle personer der må uploade.

Leif Neland

unread,
May 27, 2015, 1:13:37 AM5/27/15
to
Kurt G formulerede spørgsmålet:
Jeg har fundet dette, der skulle sørge for at der ikke kan uploades
filer, der derefter bliver udført.


Options -ExecCGI
php_flag engine off
SetHandler none
SetHandler default-handler

Kilde:
http://kagerato.net/articles/software/security/apache-public-directory.html

PS: Dette burde ligge i dk.edb.internet.webdesign.serverside, ikke
clientside.

--
https://www.paradiss.dk
Ting til konen eller kæresten.
Eller begge.


0 new messages