/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvad er der galt med upload koden
Fra : anetteogjesper
Vist : 595 gange
10 point
Dato : 19-09-05 13:27

Hej

Vi har indsat en upload kode på denne side:
http://www.xxxxx.dk/konkurrencen.php

og det hele ser faktisk fint ud, men den uploader ingen filer (billeder), men skriver blot:

Citat
Fil upload resultat
path: /tmp/phpy2h9sO
name: 48.JPG
type: image/pjpeg
size: 17762
Couldn't copy


Koden ser sådan ud:

Kode
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload af fil</title>
</head>
<body>
<form action="http://www.xxxxx.dk/gif/resultat.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="60000">
Fil til at uploade:
<input type="file" name="fileupload" /><br><br>
<input type="submit" value="upload!" />
</form>
</body>
</html>


Kode
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload af fil</title>
</head>
<body>
<h1>Fil upload resultat</h1>
<?php
$file_dir = "http://www.xxxxx.dk/gif";

foreach($_FILES as $file_name => $file_array) {
   print "path: ".$file_array['tmp_name']."<br>\n";
   print "name: ".$file_array['name']."<br>\n";
   print "type: ".$file_array['type']."<br>\n";
   print "size: ".$file_array['size']."<br>\n";

   if (is_uploaded_file($file_array['tmp_name'])) {
      move_uploaded_file($file_array['tmp_name'], "$file_dir/$file_array[name]") or die ("Couldn't copy");
      print "file was moved!<br><br>";
   }
}
?>
</html>


 
 
Kommentar
Fra : IBM760


Dato : 19-09-05 14:19

Hej anetteogjesper,

(dette er ikke et svar på jeres spørgsmål).

Til gengæld var jeg inde og kigge på jeres hjemmeside og undrede mig over, at det tog forholdsvis lang tid at hente 3 billeder af forretningen (jeg sidder på en hurtig firmaforbindelse).

Alle 3 billeder fylder utroligt meget i forhold til hvad I viser: I har gemt billederne i format 1000 x 1500, men på hjemmesiden viser I dem kun i format 200 x 300.
Hvis det skal gå lidt hurtige bør I tilpasse billederne til den aktuelle visning.
Jeres billeder fylder hver især 700-975 KB, men hvis i "Resizer" bør de ikke fylde mere end 50-60 KB.

Mvh
Ivan

Kommentar
Fra : Angband


Dato : 19-09-05 15:12

kan være i ikke har plads nok

Kommentar
Fra : natmaden


Dato : 19-09-05 17:36

ser PHP mappen billederne skulle havne i som skrivebeskyttet ?
Har I GDlib instaleret på serveren. GDLib kan tilpasse billeder !

Kommentar
Fra : natmaden


Dato : 19-09-05 18:04

1. mappen gif er låst (php må/kan ikke skrive til den) Efter hvem der må skrive i den, skal sættes med CHMOD , en værdi på 777 vil i første omgang virke,
da mappen så er pivåben for alle.

Fulde kald er som regel ikke tilladt Brug '/gif/resultat.php' i stedet for 'http://www.xxxxx.dk/gif/resultat.php'
og '/gif' i stedet for 'http://www.xxxxx.dk/gif'
Alt efter jeres mappestruktur, skal der muligt ændres lidt i '/gif/resultat.php' og '/gif'

Kommentar
Fra : anetteogjesper


Dato : 20-09-05 10:06

Hej
Der er plads nok...

Hvordan ulåser jeg mappen og hvor?

Jeg har ændret kaldende, men det hjalp ikke...

Kommentar
Fra : natmaden


Dato : 20-09-05 14:13

Nej det hjælper ikke før mappen er 'skriveklar'
Det er det pgm. som du laver din side med, der kan sætte mappens 'status'.
Lidt i stil med . hvis du h.klikker på en windowsmappe og kikker på egenskaber,
der er så en mulighed for at makere et flueben så mappen er skrivebeskyttet eller ej.

Det gøres lidt forskelligt, efter hvilket pgm. du bruger, som ftp. Men mest normalt er:
H.klik på mappen vælg 'folderproperty' eller 'set folder' eller 'folder access' du bør får et felt hvor et tal kan indtastes. skriv 777.
og tryk OK. Det kan være en god ide, lige at lægge mærke til hvad mappens status var inden.

Ser lige at i det pgm. som jeg bruger (htmlkit), hedder det 'set permissions'
Jeg har lagt et billed af panelet her http://net2620.dk/_pic/chmod.jpg

Ligger xxxxx.dk på webhotel eller på hjemmeserver ?

Mvh. Jørgen


Kommentar
Fra : anetteogjesper


Dato : 20-09-05 18:45

Jeg bruger WS_FTP og når jeg trykker CHMOD kommer der en boks op med flere valg muligheder:
Owner: read, write og other
Group: read, write og other
Other: read, write og other

Hvilke skal jeg klikke af?

Jeg har webhotel..

Kommentar
Fra : natmaden


Dato : 20-09-05 19:11

En værdi på 777 svarer til at alt er slået til(alle flueben), få først det til at virke.

prøv derefter med 644.
svare til at alle flyeben er sat, undtagen dem i Other.(gæst)

Kommentar
Fra : anetteogjesper


Dato : 20-09-05 20:27

Den skriver stadig:

Citat
Fil upload resultat
path: /tmp/php15kMQL
name: 100_0279.JPG
type: image/pjpeg
size: 18379
Couldn't copy


Kommentar
Fra : natmaden


Dato : 20-09-05 20:39

hmm.
Jeg må lige efterprøve det på mit eget domæne(på hotel)

hvorfor at jeg spurgte om det var på hotel, var at de forskellige hotellet tillader lidt forskelligt.
andre har begrænsninger for deres egen sikkerheds skyld.
Jeg har kun erfaringer med web10 og b-one
Ang hvordan at tingene er opsat på ens hotel.
prøv dette script på hotellet, som eks. hotelinfo.php
det er ikke sikkert at det kan bruges til noget lige nu, men det er aligevel sådan at opsætningen kan ses.
Kode
<?PHP
phpinfo();
?>

PS. De data du får retur er personlige.

Kommentar
Fra : anetteogjesper


Dato : 20-09-05 20:51

Jeg lavede faktisk en test da jeg lavede det, som jeg fik fra webcafe.dk og der var alt ok

Kommentar
Fra : natmaden


Dato : 21-09-05 00:49

Jeg oplevede for et års tid siden, at da web10 opdaterede deres server, der røg alle mine personlige hotelindstillinger.

Accepteret svar
Fra : natmaden

Modtaget 10 point
Dato : 21-09-05 07:50

Har lavet en test, men brugt mappenavnet 'pic' og begge php-filer ligger over/udenfor 'pic'..
1. med mappen pic i standart beskyttelse.

path: /var/tmp/phpod1Fvp
name: 102692.jpg
type: image/pjpeg
size: 12878

Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid/gid is 12880/80 is not allowed to access / owned
by uid/gid 0/0 in /home/web/xx/yy/5x-fototest/resultat.php on line 19
Couldn't copy

med mappen pic sat til mode 777

Fil upload resultat
path: /var/tmp/phpAtzMqU
name: 102692.jpg
type: image/pjpeg
size: 12878
file was moved!

Strukturen se sådan ud:

mappe
|--- fotoind.php
|--- resultat.php
|
pic(mappe)(777)
|--- billed.jpg

Filerne ser nu sådanne ud

fotoind.php
Kode
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload af fil</title>
</head>
<body>
<form action="resultat.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="60000">
Fil til at uploade:
<input type="file" name="fileupload" /><br><br>
<input type="submit" value="upload!" />
</form>
</body>
</html>


resultat.php
Kode
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Upload af fil</title>
</head>
<body>
<h1>Fil upload resultat</h1>
<?php
$file_dir = "./pic";

foreach($_FILES as $file_name => $file_array) {
print "path: ".$file_array['tmp_name']."<br>\n";
print "name: ".$file_array['name']."<br>\n";
print "type: ".$file_array['type']."<br>\n";
print "size: ".$file_array['size']."<br>\n";

if (is_uploaded_file($file_array['tmp_name'])) {
move_uploaded_file($file_array['tmp_name'], "$file_dir/$file_array[name]") or die ("Couldn't copy");
print "file was moved!<br><br>";
}
}
?>
</html>

Bemærk at stien til pic er ./pic

Håber at det er forståeligt


Kommentar
Fra : anetteogjesper


Dato : 21-09-05 21:59

Jeg fik også et tip om at ændre $file_dir til
$file_dir = $_SERVER['DOCUMENT_ROOT'] . "/gif";
dette virkede også

Godkendelse af svar
Fra : anetteogjesper


Dato : 21-09-05 22:00

Tak for svaret natmaden.
                        

Kommentar
Fra : natmaden


Dato : 22-09-05 11:57

ja, $file_dir = $_SERVER['DOCUMENT_ROOT'] . "/gif"; er mere alsidig.

Godt at det virkede.

Hej
Mvh. Jørgen

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407847
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste