• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed PHP input file przesyła pusty wynik

Object Storage Arubacloud
+1 głos
609 wizyt
pytanie zadane 28 czerwca 2018 w PHP przez Człowiek Początkujący (350 p.)
zamknięte 28 czerwca 2018 przez Człowiek

Z jakiegoś powodu poniższy kod HTML nie wysyła metodą post pliku do PHP. Metoda isset[$_FILES["fileToUpload"]["name"] zwraca mi wartość false;

<form method="post" action="send.php"  enctype="multipart/form-data">
Wybierz plik:
    <input type="file" name="fileToUpload" id="fileToUpload">
</br>
<input type="submit" value="submit" name="submit" name="submit">
</form>
<?php
echo $_FILES["fileToUpload"]["name"]; //Już tutaj nie pojawia się nic
$target_dir = "files/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"]) && isset($_FILES['fileToupload'])) {
    $file_temp = $_FILES['fileToupload']['tmp_name'];   
} 
else if(isset($_POST["submit"]) && !isset($_FILES['fileToupload'])) {
    print "Form was submitted but file wasn't send";
	$uploadOk=0;
}
else {
    print "Form wasn't submitted!";
	$uploadOk=0;
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

 

komentarz zamknięcia: OK
komentarz 28 czerwca 2018 przez Mariusz08 Maniak (62,300 p.)
Kod PHP znajduje się w tym samym pliku co kod HTML?
komentarz 28 czerwca 2018 przez Człowiek Początkujący (350 p.)
Nie
komentarz 28 czerwca 2018 przez Człowiek Początkujący (350 p.)
Ale w form ma ustawione action
1
komentarz 28 czerwca 2018 przez RobertBaj Użytkownik (810 p.)
edycja 28 czerwca 2018 przez RobertBaj
<?php
echo $_FILES['fileToUpload']['name']; //Już tutaj nie pojawia się nic
$target_dir = "files/";
$target_file = $target_dir.basename($_FILES['fileToUpload']['name']);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST['submit']) && isset($_FILES['fileToUpload'])) {
    $file_temp = $_FILES['fileToUpload']['tmp_name'];
    echo $file_temp;

   } else {
           if(isset($_POST['submit']) && !isset($_FILES['fileToUpload'])) {
              print "Form was submitted but file wasn't send";
              $uploadOk=0;
          } else {
            if(!isset($_POST['submit']) && !isset($_FILES['fileToUpload'])) {
              print "Form wasn't submitted!";
              $uploadOk=0; }
  }
}
$uploaddirection = "";
$target_file = $uploaddirection . basename($_FILES['fileToUpload']['name']);
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_file)) {
        echo "The file ".basename( $_FILES['fileToUpload']['name'])." has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

Poprawiłem twój kod i znalazłem w nim jeszcze kilka błędów w nazewnictwie zmiennych, nie były jednolite. If else statement też były nie do końca poprawne. Działa elegancko.

komentarz 28 czerwca 2018 przez Mariusz08 Maniak (62,300 p.)
Co dokładnie poprawiłeś (oprócz zmienienia cudzysłowów na apostrofy)? Nic nie widzę...
1
komentarz 28 czerwca 2018 przez RobertBaj Użytkownik (810 p.)
Nazwa jednej zmiennej nie byla taka sama w calym pliku- ujednolicilem ja,  warunek if else poprawilem, dodalem zmienna: $uploaddirection,  okreslem sciezke do zmiennej: $target_file.
komentarz 28 czerwca 2018 przez Człowiek Początkujący (350 p.)
dzięki :D
komentarz 29 czerwca 2018 przez RobertBaj Użytkownik (810 p.)

Nie ma sprawy, ale moze tak w ramach podziekowania daj plusik przy moim komentarzulaugh

komentarz 29 czerwca 2018 przez Człowiek Początkujący (350 p.)

Proszę bardzo laugh

1 odpowiedź

0 głosów
odpowiedź 28 czerwca 2018 przez Mariusz08 Maniak (62,300 p.)
<form>

Prawdopodobnie dlatego, że w tym znaczniku nie masz atrybutów action method

komentarz 28 czerwca 2018 przez Człowiek Początkujący (350 p.)
Jak napisałem w komentarzu, to tylko ominięcie w przepisywaniu, przepraszam :P
komentarz 28 czerwca 2018 przez Mariusz08 Maniak (62,300 p.)

Ty przepisujesz ten kod? Szacun.

Spróbuj

var_dump($_FILES);

 

komentarz 28 czerwca 2018 przez Człowiek Początkujący (350 p.)
Przepisuje tylko mniejsze fragmenty, gdzie mogę ominąć niepotrzebne informacje, jak na przykład inne inputy w tym formularzu

Podobne pytania

0 głosów
1 odpowiedź 199 wizyt
pytanie zadane 7 maja 2017 w SQL, bazy danych przez Bartlomiej Bywalec (2,480 p.)
0 głosów
2 odpowiedzi 144 wizyt
pytanie zadane 5 października 2017 w PHP przez Raster22 Obywatel (1,640 p.)
0 głosów
2 odpowiedzi 275 wizyt
pytanie zadane 5 października 2017 w PHP przez Raster22 Obywatel (1,640 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...