Autor Zpráva
dragon124
Profil
dobrý den,
mám kód:
<HTML>
<HEAD><TITLE>Upload</TITLE></HEAD>
<BODY>
<?
if ($akce == "Upload") {
  if ($soubor_type == "text/plain" or $soubor_type="text/html") {
    if (copy ($soubor, "data/$soubor_name")) {
      print "Soubor $soubor_name o velikosti $soubor_size bajtů 
       byl úspěšně uploadnut na server<BR>";

      mail ("spravce@muj_server.cz", "Upload souboru $soubor_name", 
           "Na server byl nahrán soubor /data/$soubor_name\n",
           "From: system@muj_server.cz\nX-web: http://www.muj_server.cz/system/upload.php");
    }
    else {
      print "Při nahrávání souboru došlo k chybě!<BR>";
    }
  }
  else {
    print "Soubor není požadového MIME typu!<BR>";
  }
}
?>
<HR SIZE="1" NOSHADE>
Zadejte jméno souboru:
<FORM ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="soubor" SIZE="30">
<INPUT TYPE="submit" NAME="akce" VALUE="Upload">
</FORM>
</BODY>
</HTML>
ale nefunguje to a píše to: Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'C:/Program Files/EasyPHP-5.3.8.0/www/Bez názvu-1.php' (include_path='.;C:\php\pear') in Unknown on line 0

mam easyphp a v tom to skoušim.
prosím poraďte
Thalia
Profil
Za první, pro upload se používá funkce move_uploaded_file (tedy ne copy) a za druhé, zbav se té diakritiky v názvu souboru.
dragon124
Profil
já ale napsal:
<HTML>
<HEAD><TITLE>Upload</TITLE></HEAD>
<BODY>
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>
</BODY>
</HTML>
a napsalo to:
Upozornění : Undefined index: Obrázky v C: \ Program Files \ EasyPHP-5.3.8.0 \ www \ uploading.php on line 6

Upozornění : Invalid argument dodávaných pro foreach () v C: \ Program Files \ EasyPHP-5.3.8.0 \ www \ uploading.php on line 6
Rellik
Profil
Nevím proč tam cpeš nějaký foreach a kontroluješ erory...
Koukni sem: http://firstpage.rellik.eu/?page=upl - je tam hotový funkční upload a navíc ti zbaví soubory diakritiky... jen si tam přidáš to zasílání na mejla.. Jo složka do které se to má ukládat musí mít patřičné práva pro zápis...
SeparateSK
Profil
Zdá sa mi ,že jediný problém bol v "/uploads" , stačilo to prepísať na "uploads/"
<form enctype="multipart/form-data" method="post">
<input type="file" name="pictures"><input type="submit">
</form>
<?php
$uploads_dir = 'uploads/';

$tmp_name = $_FILES[pictures][tmp_name];
$name = $_FILES[pictures][name];
$up=@move_uploaded_file($tmp_name, "$uploads_dir/$name");
if(!$up)echo "Nastala chyba";
?>
Uprav si to ako chceš- toto je len ten funkčný základ
Anti-error: Stačí dať funkciu do $up (premennej) a pred funkciu napísať @ - aby nazobrazilo pôvodný Fatal error

Ak ani toto nefunguje, over si svoj CHMOD, či je nastavený na 777
dragon124
Profil
aha. děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: