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

Problem z uploadem pliku

0 głosów
107 wizyt
pytanie zadane 24 października 2017 w PHP, Symfony, Zend przez Q_Nick Gaduła (4,940 p.)

Mam problem z uploadem plików. Zrobiłem formularz i wysyłam nim pliki do skryptu, a on powinien je zapisać, jednak tego nie robi. Nie wiem dlaczego, mój kod to


    
    print_r($_FILES);
    
    $fhandle = fopen($_FILES['image']['tmp_name'], "r");
    
    
    
    fwrite($fhandle, 'image.jpg');

 

1 odpowiedź

0 głosów
odpowiedź 24 października 2017 przez Comandeer Mentor (455,080 p.)

Twój kod otwiera plik tymczasowy, po czym zapisuje do niego tekst "image.jpg". Powinien użyć move_uploaded_file.

komentarz 24 października 2017 przez Q_Nick Gaduła (4,940 p.)

Warning:  move_uploaded_file() expects parameter 1 to be string

 

:c

1
komentarz 24 października 2017 przez Comandeer Mentor (455,080 p.)
W dokumentacji PHP są przykłady + dokładny opis funkcji, wystarczy poczytać.
komentarz 24 października 2017 przez Q_Nick Gaduła (4,940 p.)
czytałem, robiłem tak jak pisze i nie działa
komentarz 24 października 2017 przez Comandeer Mentor (455,080 p.)
No nie mogłeś tak robić, bo by działało :P Fajnie, jakbyś pokazał, co tam wymodziłeś.
komentarz 24 października 2017 przez Q_Nick Gaduła (4,940 p.)
edycja 24 października 2017 przez Q_Nick
<pre><?php

    require'../../core.php';
    
    print_r($_FILES);
    
    $fhandle = fopen($_FILES['image']['tmp_name'], "r");
    
    $name= addslashes($_POST['name']);
    
    //move_uploaded_file($fhandle, 'image.jpg');
    
    $uploads_dir = '';
    foreach ($_FILES['image']['error'] as $key => $error) 
    {
        if ($error == UPLOAD_ERR_OK) 
        {
            $tmp_name = $_FILES["image"]["tmp_name"][$key];
            // basename() may prevent filesystem traversal attacks;
            // further validation/sanitation of the filename may be appropriate
            $name = basename($_FILES["image"]["name"][$key]);
            move_uploaded_file($tmp_name, "$uploads_dir/$name");
        }
    }

 

komentarz 24 października 2017 przez Comandeer Mentor (455,080 p.)
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];

Wypada tutaj zmienić pictures na nazwę, jakiej używasz w kodzie.

komentarz 24 października 2017 przez Q_Nick Gaduła (4,940 p.)

tak, poprawiłem, bo sam zauważyłem, tylko teraz jest błąd

Warning:  Invalid argument supplied for foreach()

Podobne pytania

0 głosów
1 odpowiedź 43 wizyt
pytanie zadane 19 lipca 2017 w PHP, Symfony, Zend przez Harkor Początkujący (450 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,021 zapytań

110,395 odpowiedzi

231,160 komentarzy

47,800 pasjonatów

Przeglądających: 265
Pasjonatów: 10 Gości: 255

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...