Avatar billede mtv Nybegynder
26. december 2000 - 20:27 Der er 73 kommentarer og
1 løsning

Fejl i upload script

Hvorfor for jeg følgende fejl:
Warning: Unable to create \'http://ww.kyd.net/ctv/test.html\': No such file or directory in /www/kyd/ctv/formmail.php on line 198

Og ikke mindst hvordan for jeg det til at virke ???
Skal i have php dokumentet ???
Avatar billede mtv Nybegynder
26. december 2000 - 20:28 #1
Ups !!!

Jeg kan ikke stave for=får
Avatar billede mortenfn Nybegynder
26. december 2000 - 20:31 #2
jeg ved ikk, men du mangeler et W i WWW.
Avatar billede mortenfn Nybegynder
26. december 2000 - 20:34 #3
$fp = fopen(\"test.html\",\"w\");
fputs($fp,\"det du vil skrive\");
fclose($fp);
Avatar billede jd Nybegynder
26. december 2000 - 20:35 #4
noget kode ville være meget rart :)
Avatar billede mtv Nybegynder
26. december 2000 - 20:40 #5
<?

// parse the form and create the content string which we will send
function parse_form($array) {
  // build reserved keyword array
  $reserved_keys[] = \"MAX_FILE_SIZE\";
  $reserved_keys[] = \"required\";
  $reserved_keys[] = \"require\";
  $reserved_keys[] = \"path_to_file\";
  $reserved_keys[] = \"recipient\";
  $reserved_keys[] = \"subject\";
  $reserved_keys[] = \"bgcolor\";
  $reserved_keys[] = \"text_color\";
  $reserved_keys[] = \"link_color\";
  $reserved_keys[] = \"vlink_color\";
  $reserved_keys[] = \"alink_color\";
  $reserved_keys[] = \"title\";
  $reserved_keys[] = \"missing_fields_redirect\";
  $reserved_keys[] = \"env_report\";
  if (count($array)) {
      while (list($key, $val) = each($array)) {
        // exclude reserved keywords
        $reserved_violation = 0;
        for ($ri=0; $ri<count($reserved_keys); $ri++) {
            if ($key == $reserved_keys[$ri]) {
              $reserved_violation = 1;
            }
        }
        // prepare content
        if ($reserved_violation != 1)
            $content .= \"$key: $val\\n\";
      }
  }
  return $content;
}

// mail the content we figure out in the following steps
function mail_it($content, $subject, $email, $recipient) {
        mail($recipient, $subject, $content, \"From: $email\\r\\nReply-To: email\\r\\nX-Mailer: DT_formmail\");
}

// take in the body building arguments and build the body tag for page display
function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color) {
  if ($title)
      echo \"<title>$title</title>\";
  if (!$bgcolor)
      $bgcolor = \"#FFFFFF\";
  if (!$text_color)
      $text_color = \"#000000\";
  if (!$link_color)
      $link_color = \"#0000FF\";
  if (!$vlink_color)
      $vlink_color = \"#FF0000\";
  if (!$alink_color)
      $alink_color = \"#000088\";
  if ($background)
      $background = \"background=\\\"$background\\\"\";
  echo \"<body bgcolor=\\\"$bgcolor\\\" text=\\\"$text_color\\\" link=\\\"$link_color\\\" vlink=\\\"$vlink_color\\\" alink=\\\"$alink_color\\\" $background>\\n\\n\";
}

// our mighty error function..
function print_error($reason,$type = 0) {
  build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color);
  // for missing required data
  if ($type == \"missing\") {
      ?>
      Indholdet blev ikke sendt pga. følgende årsager:<p>
    <ul><?
    echo $reason.\"\\n\";
    ?></ul>
    Brug venligst tilbage knappen i browseren for at prøve igen.<?
  } else { // every other error
      ?>
      Indholdet blev ikke sendt pga. følgende årsager:<p>
      <?
  }
  echo \"<br><br>\\n\";
  exit;
}

// check for a recipient email address and check the validity of it
// Thanks to Bradley miller (bradmiller@accesszone.com) for pointing
// out the need for multiple recipient checking and providing the code.
$recipient_in = split(\',\',$recipient);
for ($i=0;$i<count($recipient_in);$i++) {
  $recipient_to_test = trim($recipient_in[$i]);
  if (!eregi(\"^[_\\\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\\\.)+[a-z]{2,3}$\", $recipient_to_test)) {
      print_error(\"<b>Gyldig e-mail adresse er krævet.($recipient_to_test) TO CONTINUE</b>\");
  }
}

// This is because I originally had it require but too many people
// were used to Matt\'s Formmail.pl which used required instead.
if ($required)
  $require = $required;
// handle the required fields
if ($require) {
  // seperate at the commas
  $require = ereg_replace( \" +\", \"\", $require);
  $required = split(\",\",$require);
  for ($i=0;$i<count($required);$i++) {
      $string = trim($required[$i]);
      // check if they exsist
      if((!(${$string})) || (!(${$string}))) {
        // if the missing_fields_redirect option is on: redirect them
        if ($missing_fields_redirect) {
            header (\"Location: $missing_fields_redirect\");
            exit;
        }
        $require;
        $missing_field_list .= \"<b>Missing: $required[$i]</b><br>\\n\";
      }
  }
  // send error to our mighty error function
  if ($missing_field_list)
      print_error($missing_field_list,\"missing\");
}

// check the email fields for validity
if (($email) || ($EMAIL)) {
  $email = trim($email);
  if ($EMAIL)
      $email = trim($EMAIL);
  if (!eregi(\"^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$\", $email)) {
      print_error(\"Din <b>email adresse</b> er ugyldig\");
  }
  $EMAIL = $email;
}

// check zipcodes for validity
if (($ZIP_CODE) || ($zip_code)) {
  $zip_code = trim($zip_code);
  if ($ZIP_CODE)
      $zip_code = trim($ZIP_CODE);
  if (!ereg(\"(^[0-9]{5})-([0-9]{4}$)\", trim($zip_code)) && (!ereg(\"^[a-zA-Z][0-9][a-zA-Z][[:space:]][0-9][a-zA-Z][0-9]$\", trim($zip_code))) && (!ereg(\"(^[0-9]{5})\", trim($zip_code)))) {
      print_error(\"Dit <b>postnummer</b> er udyldigt\");
  }
}

// check phone for validity
if (($PHONE_NO) || ($phone_no)) {
  $phone_no = trim($phone_no);
  if ($PHONE_NO)
      $phone_no = trim($PHONE_NO);
  if (!ereg(\"(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)\", $phone_no)) {
      print_error(\"your <b>phone number</b> is invalid\");
  }
}

// check phone for validity
if (($FAX_NO) || ($fax_no)) {
  $fax_no = trim($fax_no);
  if ($FAX_NO)
      $fax_no = trim($FAX_NO);
  if (!ereg(\"(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)\", $fax_no)) {
      print_error(\"your <b>fax number</b> is invalid\");
  }
}

// prepare the content
$content = parse_form($HTTP_POST_VARS);

// check for a file if there is a file upload it
if ($file_name) {
  if (!ereg(\"/$\", $path_to_file))
      $path_to_file = $path_to_file.\"/\";
  $location = $path_to_file.$file_name;
  copy($file,$location);
  unlink($file);
  $content .= \"Uploaded File: \".$path_to_file.$file_name.\"\\n\";
}

// if the env_report option is on: get eviromental variables
if ($env_report) {
  $env_report = ereg_replace( \" +\", \"\", $env_report);
  $env_reports = split(\",\",$env_report);
  $content .= \"------ eviromental variables ------\\n\";
  for ($i=0;$i<count($env_reports);$i++) {
      $string = trim($env_reports[$i]);
      if ($env_reports[$i] == \"REMOTE_HOST\")
        $content .= \"REMOTE HOST: \".$REMOTE_HOST.\"\\n\";
      else if ($env_reports[$i] == \"REMOTE_USER\")
        $content .= \"REMOTE USER: \". $REMOTE_USER.\"\\n\";
      else if ($env_reports[$i] == \"REMOTE_ADDR\")
        $content .= \"REMOTE ADDR: \". $REMOTE_ADDR.\"\\n\";
      else if ($env_reports[$i] == \"HTTP_USER_AGENT\")
        $content .= \"BROWSER: \". $HTTP_USER_AGENT.\"\\n\";
  }
}

// if the subject option is not set: set the default
if (!$subject)
  $subject = \"Sendt fra Kreidler-form\";

// send it off
mail_it(stripslashes($content), stripslashes($subject), $email, $recipient);

// if the redirect option is set: redirect them
if ($redirect) {
  header (\"Location: $redirect\");
  exit;
} else {
  print \"Mange tak\\n\";
}

?>
Avatar billede mortenfn Nybegynder
26. december 2000 - 20:47 #6
hvis jeg har talt regtigt er dette linje 198

// if the redirect option is set: redirect them

jeg syndtes ikke det stemmer med fejlmeddelsen
Avatar billede mtv Nybegynder
26. december 2000 - 20:48 #7
Undskyld !!!
det er min skyld jeg klippede noget header fra for at det ikke skulle fylde så meget !!!
Jeg skal nok lige tælle mig frem !!!
Avatar billede mtv Nybegynder
26. december 2000 - 20:53 #8
Jeg har klippet 29 linjer væk
Avatar billede mtv Nybegynder
26. december 2000 - 21:01 #9
Det må være omkring denne linje:
$path_to_file = $path_to_file.\"/\";
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:03 #10
det er nok her:

// check for a file if there is a file upload it
if ($file_name) {
  if (!ereg(\"/$\", $path_to_file))
      $path_to_file = $path_to_file.\"/\";
  $location = $path_to_file.$file_name;
  copy($file,$location);
  unlink($file);
  $content .= \"Uploaded File: \".$path_to_file.$file_name.\"\\n\";
}
Avatar billede mtv Nybegynder
26. december 2000 - 21:04 #11
Det tror jeg også, men hvad kan der være galt ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:08 #12
er biblioteket ctv oprettet
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:08 #13
ja det er det !!!???
Avatar billede mtv Nybegynder
26. december 2000 - 21:09 #14
Hejsa
Jeg modtog lige følgende: (regner med det er fra dig)

email:
zip_code:
file_name: php.gif
file: /tmp/php7AqpQZ
file_size: 179
What_you_think_about_me:
Uploaded File: http://ww.kyd.net/ctv/php.gif
------ eviromental variables ------
REMOTE HOST:
BROWSER: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
Avatar billede mtv Nybegynder
26. december 2000 - 21:09 #15
Ups
Jeg kom lige til at acceptere dit svar !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:09 #16
ja
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:10 #17
jeg fik også fejlen
Avatar billede mtv Nybegynder
26. december 2000 - 21:10 #18
Hvad mener du med ja ???
Avatar billede mtv Nybegynder
26. december 2000 - 21:11 #19
Ved du hvad der kan være galt ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:13 #20
her er linjen der fejler:

copy($file,$location);
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:14 #21
du har vel skriverettigheder til dette bibliotek
Avatar billede mtv Nybegynder
26. december 2000 - 21:14 #22
Trist, jeg kan simpelt hen ikke se hvad der er galt !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:17 #23
det er mystisk

du får en mail om at du har modtaget et billede og en link dertil, men billedet bliver ikke copieret til biblioteket
Avatar billede mtv Nybegynder
26. december 2000 - 21:19 #24
Nope !!!
Har det noget at gøre med rettigheder ???
Avatar billede jd Nybegynder
26. december 2000 - 21:19 #25
mtv-> Og Der er IKKE fordi du ikke har rettigheder til at oprette filer i mappen?
Avatar billede jd Nybegynder
26. december 2000 - 21:20 #26
mtv-> Den mappe du uploader filer til skal være cdmoddet, fx. 777
Avatar billede mtv Nybegynder
26. december 2000 - 21:22 #27
Det skulle være gjort !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:23 #28
som skrevet før -> har du skrive /upload rettigheder til biblioteket
Avatar billede mtv Nybegynder
26. december 2000 - 21:24 #29
Hvilket bibliotek mener du ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:26 #30
jeg mener ctv
Avatar billede mtv Nybegynder
26. december 2000 - 21:28 #31
Hvordan checker jeg det ???
Avatar billede jd Nybegynder
26. december 2000 - 21:29 #32
mtv-> Det behøver du ikke! Du kan bare gøre det (igen)!
Avatar billede mtv Nybegynder
26. december 2000 - 21:32 #33
Jamen det er ikke ctv biblioteket jeg givet skrive/upload rettigheder. Ctv er det jeg logger mig ind med det er ikke en mappe som jeg kan få egenskaber ud fra.
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:36 #34
filen du får hvor skal den gemmes
Avatar billede mtv Nybegynder
26. december 2000 - 21:37 #35
Er jeg helt galt på den ???
Avatar billede mtv Nybegynder
26. december 2000 - 21:38 #36
Filen skulle helst gemmes i en mappe der hedder uploaded/files/ disse er oprettet og HAR alle rettighedder !!!
Avatar billede mtv Nybegynder
26. december 2000 - 21:48 #37
Er det håbløst ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:51 #38
nu ved jeg det - det er ikke scriptet
Avatar billede mtv Nybegynder
26. december 2000 - 21:52 #39
Hvad så ??? MEGET NYSGERRIG !!!
Avatar billede mtv Nybegynder
26. december 2000 - 21:52 #40
Er det html doku. ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:55 #41
denne fejl er jo kendt.


Warning: Unable to create \'http://ww.kyd.net/ctv/test.txt\': No such file or directory in d:\\intranet\\test\\5.php on line 2

scriptet ser sådan ud:

<?php
copy(\'D:/Dokumenter/Billeder/php.gif\',\'http://ww.kyd.net/ctv/test.txt\');
?>
Avatar billede mtv Nybegynder
26. december 2000 - 21:57 #42
Jeg fatter intet !!! Hvad skal jeg gøre ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:57 #43
du skal oprette skriverettigheder for alle
Avatar billede mortenfn Nybegynder
26. december 2000 - 21:59 #44
du skal lave en .htasses

2 sec.
Avatar billede mtv Nybegynder
26. december 2000 - 22:00 #45
Jamen der er jo skriverettigheder !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 22:03 #46
ikke for mig og det er jo mig der sender/skriver til biblioteket
Avatar billede mortenfn Nybegynder
26. december 2000 - 22:05 #47
iøvrigt har du ingen index-fil
Avatar billede mtv Nybegynder
26. december 2000 - 22:08 #48
Avatar billede mtv Nybegynder
26. december 2000 - 22:09 #49
Index-filen er lige meget dette er kun et experiment !!!
Avatar billede mtv Nybegynder
26. december 2000 - 22:11 #50
Du skrev før \"du skal lave en .htasses\" hvad er det ???
Avatar billede mtv Nybegynder
26. december 2000 - 22:13 #51
Jeg udleverer gerne brugernavn samt password til serveren, så kan du selv prøve at se om de ikke har de rigtige rettigheder !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 22:14 #52
ok

morten@thorsnet.dk
Avatar billede mtv Nybegynder
26. december 2000 - 22:25 #53
Har du givet op ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 22:29 #54
<Directory />
Order Deny,Allow
Allow from all
</Directory>

det her i en .htaccess så tror jeg den er der eller osse den her - jeg kan ikke huske om det er den ene eller anden vej

<Directory />
Order Allow,Deny
Allow from all
</Directory>

jeg kan ikke uploade til din server!!
Avatar billede mtv Nybegynder
26. december 2000 - 22:32 #55
Hvad er en htaccess
Avatar billede mtv Nybegynder
26. december 2000 - 22:33 #56
Du skulle nok også lige have haft lidt mere info.: Host address: kyd.net
Avatar billede mtv Nybegynder
26. december 2000 - 22:42 #57
Jeg har prøvet, men det virker stadig ikke !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 22:45 #58
af en eller an årsag kan jeg ikke få lov til at uplode til din server jeg kan godt komme ind men ikke uploade
Avatar billede mtv Nybegynder
26. december 2000 - 22:47 #59
Det kan være jeg lige skal hoppe af den !!!
Avatar billede mtv Nybegynder
26. december 2000 - 23:07 #60
Hallo ???
Avatar billede mortenfn Nybegynder
26. december 2000 - 23:10 #61
jeg tænker!!! og TÆNKER så det knager
Avatar billede mtv Nybegynder
26. december 2000 - 23:12 #62
Har du stadig ikke adgang ???
Avatar billede mtv Nybegynder
26. december 2000 - 23:16 #63
Jeg takker mange gange for dine forsøg på at hjælpe !!! Hvis du finder en løsning så post den endelig !!! Jeg vil logge af for idag nu !!!
Avatar billede mortenfn Nybegynder
26. december 2000 - 23:23 #64
det er ok - jeg skal nok finde løsningen
Avatar billede lojmann Nybegynder
28. december 2000 - 08:02 #65
Her er et script:

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

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"upload.php\" 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>

1) Du kan kontrollere filstørrelsen i variablen $userfile_size

2) Biblioteket er i dette tilfælde /upload/. Dette kan selvfølgelig ændres eller sættes til en variabel. Husk at CHMOD\'e biblioteket.
Avatar billede mortenfn Nybegynder
28. december 2000 - 17:07 #66
Husk at biblioteket skal CHMOD\'es 777.  - hvordan gøres det i Apache
Avatar billede lojmann Nybegynder
28. december 2000 - 17:10 #67
Det skal du gøre via FTP (eller Telnet eller SSH)...

Hvilket FTP uploader du med?
Avatar billede mortenfn Nybegynder
28. december 2000 - 17:16 #68
WS_FTP 95 LE
Avatar billede lojmann Nybegynder
28. december 2000 - 17:18 #69
Kender det ikke, men du kan sikkert højre klikke på den pågældene mappe, og så er der sikkert noget som hedder \"CHMOD\" eller \"attrib\" eller noget i den stil :)
Avatar billede mortenfn Nybegynder
28. december 2000 - 17:34 #70
jeg får svaret \"kun på UNIX\" (på engelsk)
Avatar billede lojmann Nybegynder
28. december 2000 - 17:38 #71
Hmm... Så smid det på en UNIX :)
Ej, jeg mener at scriptet kun virker på UNIX/Linux, så...
Avatar billede mortenfn Nybegynder
28. december 2000 - 19:11 #72
har skiftet til unix - men det virker ikke
Avatar billede jd Nybegynder
28. december 2000 - 19:15 #73
Der er kun grund til at chmodde på Unix, da filer på Winbøvs ikke behøver at få rettigheder... de har ´hvad der svarer til 777 som standard -mener jeg :)

mortenfn-> Kan jeg ik lige få dit ICQ# ?
Avatar billede mortenfn Nybegynder
28. december 2000 - 19:34 #74
ICQ: 95960625
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