Avatar billede 13thsky Nybegynder
29. marts 2004 - 00:00 Der er 21 kommentarer og
1 løsning

uploade billede?

Jeg bruger følgende script til at uploade billeder på min hjemmeside:
____________________________________________________________
<?
    //scriptil upload
    if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $sti = "/flash/";
    $dist = $_SERVER['DOCUMENT_ROOT']."$sti";
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
}
?>
    <form action="<? echo $_SERVER['PHP_SELF']; ?>?action=add" method="post" enctype="multipart/form-data">
        <p><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Tilf&oslash;j
          nyt billede:</font><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>
          </b></font>
          <input type="file" name="upfil">
          <br>
          <br>
          <input type="submit" value="  Upload billede " name="up">
        </p>
      </form
________________________________________________________________

men da jeg prøvede at bruge scriptet på en anden hjemmeside, som er hostet hos en anden udbyder, får jeg følgende fejl:


Warning: move_uploaded_file(/flash/lise34.jpg): failed to open stream: No such file or directory in C:\W3Sites\bla\www\krindex.php on line 28

Warning: move_uploaded_file(): Unable to move 'C:\WINNT\TEMP\phpF56.tmp' to '/flash/lise34.jpg' in C:\W3Sites\bla\www\krindex.php on line 28
Avatar billede sukos Juniormester
29. marts 2004 - 01:07 #1
Du er sikker stien er korrekt?
Altså, dir'et ligger:
domain.dk/flash/ ???
Er det chmod'et så du kan lave nye filer i det?
Avatar billede 13thsky Nybegynder
29. marts 2004 - 01:14 #2
stien er korrekt, men jeg har lige fundet ud af at jeg får fejlmedd. "Chmod may not be supported on the remote site"

Hvad gør jeg så?
Avatar billede 13thsky Nybegynder
29. marts 2004 - 01:20 #3
jeg kan godt få lov til at slette billeder med unlink...

/13thsKy
Avatar billede sukos Juniormester
29. marts 2004 - 01:34 #4
hmm, prøv evt. at chmod dir'et med et FTP program, i stedet for PHP.
Men det er jo på en windåze, så jeg ved sguttte lige.
Avatar billede 13thsky Nybegynder
29. marts 2004 - 01:51 #5
det er med et ftp program jeg prøver.... Men er der nogle ydbydere hvor det simpelthen ikke er muligt eller???
Avatar billede sukos Juniormester
29. marts 2004 - 01:57 #6
ved ikke, men fejlen: "(/flash/lise34.jpg)" antyder li'som (synes jeg! :O] ) at du ikke får defineret stien korrekt, fordi der så ville ha' stået: (mener jeg da)
(C:/W3Sites/bla/www/flash/lise34.jpg)
Avatar billede sukos Juniormester
29. marts 2004 - 01:57 #7
Men måske du ikke må uploade?
Avatar billede 13thsky Nybegynder
29. marts 2004 - 02:05 #8
jeg har ændret stien flere gange, og prøvet alt...-og det virker jo også på den anden server. Men hvis der er nogle udbydere som ikke tillader chmod=777, hvordan uploader man så et billede?

//13th Sky
Avatar billede sukos Juniormester
29. marts 2004 - 02:08 #9
Tjek lige at file_upload er On med en
<?php phpinfo(); ?>


chmod på en windows er ikke relevant.
Avatar billede 13thsky Nybegynder
29. marts 2004 - 02:16 #10
ja, den står på On
Avatar billede sukos Juniormester
29. marts 2004 - 02:19 #11
Hvilken version af PHP ligger der på serveren?
Avatar billede 13thsky Nybegynder
29. marts 2004 - 02:27 #12
V. 4.3.4
Avatar billede sukos Juniormester
29. marts 2004 - 02:36 #13
hmm, hvad siger så dette:

<?php
$sti = "/flash/";
$dist = $_SERVER['DOCUMENT_ROOT']."$sti";
if(is_dir($dist)) {
echo"OK";
}else{
echo"Nix";
}
?>
Avatar billede sukos Juniormester
29. marts 2004 - 02:38 #14
b.t.w., ville jeg selv bruge:

$dist = $_SERVER['DOCUMENT_ROOT'] . $sti;

og desuden tjekke om der er en fil overhovedet, samt at det rent faktisk er et billede.
Avatar billede 13thsky Nybegynder
29. marts 2004 - 11:19 #15
->> sukos
Den returnerer "NIX"!

-det betyder ingen adgang eller?

//13th Sky
Avatar billede sukos Juniormester
29. marts 2004 - 12:08 #16
jahh, så er det jo stien den er gal med!
æhh, og det skulle ikek betyde noget om du bruger " eller ej i $dist.
Men prøv for en sikkerheds skyld:

<?php
$sti = "/flash/";
$dist = $_SERVER['DOCUMENT_ROOT']. $sti;
if(is_dir($dist)) {
echo"OK";
}else{
echo"Nix";
}
?>
Avatar billede 13thsky Nybegynder
29. marts 2004 - 14:14 #17
den melder NIX igen...

ok.. Når jeg logger in via ftp, er der to mapper (www og stats).
Inde i www mappen ligger hjemmesiden og en mappe som hedder flash.
-og scriptet ser således ud:

<?
    //scriptil upload
    if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $sti = "/flash/images/";
    $dist = $_SERVER['DOCUMENT_ROOT']."$sti";
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
}
?>
Avatar billede 13thsky Nybegynder
29. marts 2004 - 14:14 #18
og, ja... inde i mappen flash, er der yderligere en  mappe som hedder images
Avatar billede sukos Juniormester
29. marts 2004 - 16:22 #19
hmm, hvad siger så dette:

<?php
if(dirname($_SERVER["PHP_SELF"]) == "\\") {
$path = "/";
}else{
$path = dirname($_SERVER["PHP_SELF"]);
}

echo $_SERVER["DOCUMENT_ROOT"] . $path;
?>

gemt som "sti.php", lagt i henholdsvis www dir, samt i images dir.
Avatar billede 13thsky Nybegynder
29. marts 2004 - 16:37 #20
den returnerer blot /

//men jeg begynder mere og mere at tro at jeg simpelthen ikke har lov til chmod = 777

//13th Sky
Avatar billede 13thsky Nybegynder
03. april 2004 - 15:46 #21
Du havde sq ret, det var bare stien den var gal med... Drop et svar Sukos
Avatar billede sukos Juniormester
19. oktober 2004 - 08:28 #22
ehh, ok.
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