• 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
110 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 (465,600 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 (465,600 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 (465,600 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 (465,600 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
0 odpowiedzi 22 wizyt
pytanie zadane 27 czerwca w PHP, Symfony, Zend przez OdsetekGlupoty Stary wyjadacz (14,250 p.)
0 głosów
1 odpowiedź 44 wizyt
pytanie zadane 19 lipca 2017 w PHP, Symfony, Zend przez Harkor Użytkownik (530 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

67,233 zapytań

114,193 odpowiedzi

242,036 komentarzy

45,643 pasjonatów

Przeglądających: 303
Pasjonatów: 12 Gości: 291

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.

...