C/C++ week Anniversary - BF
80 % bodů zdarma na online výuku díky naší Narozeninové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++
Avatar
3012
Člen
Avatar
3012:17.1.2019 14:51

dobrý ďen, potreboval by som sa opýtať z akého dôvodu sa mi nedarí uploadovať súbor, konkrétne video, ale nefunguje to ani na iné súbory, tu je kód html:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
etheri
</title>
</head>

<body>



<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

</body>

</html>

a php:

<?php
     $target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

testujem to na dvoch od seba nezávislích hostingoch: 000webhost.com a webzdarma.cz no vždy sa dopracujem k tomu ze prebehne else a zobrazí sa : There was an error uploading the file, please try again!
 na servere mám html a php skript a folder uploads, nedochádza k žiadnej chybe ktorú by kompilator hlásil, iba vypiše text za else, prosím kde je problém? ďakujem za každú pomoc.
 
Odpovědět
17.1.2019 14:51
Avatar

Člen
Avatar
:17.1.2019 16:40

Ahoj, aký je obsah premennej $_FILES['uplo­adedfile']? Mohol by si tu skopírovať print_r?

 
Nahoru Odpovědět
17.1.2019 16:40
Avatar
3012
Člen
Avatar
3012:17.1.2019 17:27

ahoj, ďakujem za odpoveď, len neviem ako print_r použiť, hľadal som na internete a našiel som toto

<?php
     $target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {

print_r($_FILES['uploadedfile']); //print_r je tu ale asi ho zle zapisujem, pretoze nič nevypíše


    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

asi zle zapisujem printr pretoze nič nevypíše, ako ho mám v tomto kóde zapísať?
aj po použití printr je jediný vystup: There was an error uploading the file, please try again!

 
Nahoru Odpovědět
17.1.2019 17:27
Avatar

Člen
Avatar
Odpovídá na 3012
:17.1.2019 17:53

Print_r sa nespustilo, pretože podmienka nebola splnená, respektíve funkcia move_uploaded_fi­le vrátila false. :D Stačí, keď print_r presunieš preč z if blocku:

<?php
     $target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
print_r($_FILES['uploadedfile']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {


    echo "The file ".  basename( $_FILES['uploadedfile']['name']).
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>
 
Nahoru Odpovědět
17.1.2019 17:53
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
3012
Člen
Avatar
3012:17.1.2019 18:23

ahoj, ďakujem tu je vystup: ( [name] => WIN_20190117_­04_22_53_Pro.mp4 [type] => [tmp_name] => [error] => 2 [size] => 0 )

 
Nahoru Odpovědět
17.1.2019 18:23
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.1.2019 19:36

google = upload file example php
google = error code 2 upload file

http://php.net/manual/en/features.file-upload.errors.php

UPLOAD_ERR_FOR­M_SIZE
Upload, defaultne je limitovan na 2MB / 8MB. Zkus tam nahrat nejaky obrazek, 100k, jestli projde. Kdyz jo, kod mas dobre. Jen musis zmenit limit pro post file.
Vsechno to mas popsane v manualu.

http://php.net/manual/en/features.file-upload.post-method.php
  • je tam link na errory, error code
  • zminka o upload_tmp_dir
  • putenv()
  • php.ini
  • ini_set()
Note: Related Configurations Note
See also the file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size and max_input_time directives in php.ini

Na te strance jsou na to odkazy. Bud tu velikost jde zmenit v php.ini, .htaccess nebo ini_set()
Jeste tohle by mozna bylo uzitecne.
http://php.net/…ini.list.php

 
Nahoru Odpovědět
17.1.2019 19:36
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.1.2019 19:37

Jo, krom toho jsem na nekterych serverech zaznamenal problem s move_upload. Neslo. Pouzil jsem copy. Si nastavili do tempu prava tak, ze soubor neslo smazat, takze se cely prikaz nevykonal :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
17.1.2019 19:37
Avatar
3012
Člen
Avatar
3012:17.1.2019 20:01

Vinikajúce, ďakujem ti už to funguje

 
Nahoru Odpovědět
17.1.2019 20:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.