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

question-closed upload i download, Zapis nazwy pliku do bazy

Object Storage Arubacloud
0 głosów
605 wizyt
pytanie zadane 16 sierpnia 2015 w PHP przez jaca121212 Nałogowiec (40,760 p.)
zamknięte 16 sierpnia 2015 przez jaca121212

Zrobiłem zapytanie do bazy  w skrypcie i jest błąd

a skrypt jest taki

<?php

$target_dir = "foto/";
$target_file = $target_dir .basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$FileType = pathinfo($target_file,PATHINFO_EXTENSION);
$data = date('Y-m-d H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
// Sprawdź, czy plik muzyką
if(isset($_POST["submit"])) {
    $check = filesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "";
        $uploadOk = 1;
    } else {
        echo "
";
        $uploadOk = 0;
    }
}
// Sprawdź, czy plik istnieje
if (file_exists($target_file)) {
    echo "";
    $uploadOk = 0;
}
// Sprawdź rozmiar pliku
if ($_FILES["fileToUpload"]["size"] >100000000) {
    echo "Niestety, plik jest zbyt duży.";
    $uploadOk = 0;
}
// Umożliwienia niektórych formatów plików
if($FileType  == ".mp3" ) {
    echo "Niestety, tylko plik mp3 jest dozwolony.";
    $uploadOk = 0;
}

if ($uploadOk == 0) {
    echo "Niestety, plik nie został przesłany.";

} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
		 $resultat = $polaczenie->query(sprintf("INSERT INTO `pliki` (`user`, `nazwa_pliku`, `ip`, `data`) VALUES ( '%d', '%s', '%s', '%s')",
	 $_SESSION['id'], $target_file, $ip, $data));

        echo "Plik". basename( $_FILES["fileToUpload"]["name"]). " został przesłany.";
    } else {
        echo "Niestety, plik jest zbyt duży, plik nie został przesłany.";
    }
}
?> 

 

a błąd jest taki

Warning: move_uploaded_file(foto/12.mp3) [function.move-uploaded-file]: failed to open stream: Permission denied in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 42

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/virtual/tmp/php6740dR' to 'foto/12.mp3' in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 42
Niestety, plik jest zbyt duży, plik nie został przesłany. 

gdzie robię nie tak i co ten błąd oznacza i czy mógłby mi ktoś to poprawić a i ostatnie jak zmienić typ plików aby możnabyło przesyłać wszystkie typy plików a nie tylko .mp3 jak jest w tym skrypcie

komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+1 głos
odpowiedź 16 sierpnia 2015 przez Boshi VIP (100,240 p.)
Nie wiem czy czytać potrafisz, ale jasno pisze, brak ci uprawnień do  zapisu pliku, prawdopodobnie chmod trzeba ustawić. Kolejny błąd to też jasny komunikat który sam ustawiłeś, Za duży plik. Rozmiar podaje się jako szerokość i wysokość. np 1024*1024.
komentarz 16 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)

ustawiłem plik upload.php tam gdzie jest ten skrypt na chmod 777 i dale jest ten sam komunikat chyba że to ma być jakiś inny plik do ustawienia

błąd jaki wyskakuje to jest taki  i zaczyna się od tej liniki

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {



Warning: move_uploaded_file(muzyka/test.mp3) [function.move-uploaded-file]: failed to open stream: Permission denied in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 43

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/virtual/tmp/phpWNIaV5' to 'muzyka/test.mp3' in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 43
Niestety, plik jest zbyt duży, plik nie został przesłany. 

a kod jest taki


<?php

$target_dir = "muzyka/";
$target_file = $target_dir .basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$FileType = pathinfo($target_file,PATHINFO_EXTENSION);
$data = date('Y-m-d H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
// Sprawdź, czy plik muzyką
if(isset($_POST["submit"])) {
    $check = filesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "";
        $uploadOk = 1;
    } else {
        echo "
";
        $uploadOk = 0;
    }
}
// Sprawdź, czy plik istnieje
if (file_exists($target_file)) {
    echo "";
    $uploadOk = 0;
}
// Sprawdź rozmiar pliku
if ($_FILES["fileToUpload"]["size"] >1024*1024) {
    echo "Niestety, plik jest zbyt duży.";
    $uploadOk = 0;
}
// Umożliwienia niektórych formatów plików
if($FileType  == ".jpeg" ) {
    echo "Niestety, tylko plik mp3 jest dozwolony.";
    $uploadOk = 0;
}

if ($uploadOk == 0) {
    echo "Niestety, plik nie został przesłany.";

} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
		 $resultat = $polaczenie->query(sprintf("INSERT INTO `pliki` (`user`, `nazwa_pliku`, `ip`, `data`) VALUES ( '%d', '%s', '%s', '%s')", $_SESSION['id'], $target_file, $ip, $data));
        echo "Plik". basename( $_FILES["fileToUpload"]["name"]). " został przesłany.";
    } else {
        echo "Niestety, plik jest zbyt duży, plik nie został przesłany.";
    }
}
?> 

i ostatnie pytanie czy mogę to tak zapisać jeśli chodzi o rozmiar pliku

$rozmiar=1024*1024;
if ($_FILES["fileToUpload"]["size"] >$rozmiar) {
    echo "Niestety, plik jest zbyt duży.";
    $uploadOk = 0;
}

komentarz 16 sierpnia 2015 przez jaca121212 Nałogowiec (40,760 p.)
edycja 16 sierpnia 2015 przez jaca121212

Po wgraniu pliku o wadze 9MB piszę mi błąd

Fatal error: Call to a member function query() on a non-object in /virtual/d/a/darmoweogloszenia.ugu.pl/upload.php on line 44

ale plik się wgrał na serwer

ale  nie zapisuje do bazy danych nazwy pliku (     $resultat = $polaczenie->query(sprintf("INSERT INTO `pliki` (`user`, `nazwa_pliku`, `ip`, `data`) VALUES ( '%d', '%s', '%s', '%s')", $_SESSION['id'], $target_file, $ip, $data));)

dlaczego tak się to dzije i jak ten błąd wyeliminować .

A jak zrobić aby można by było dać możliwość przesłania wszytskich rodziaji plików.

Podobne pytania

+1 głos
1 odpowiedź 5,209 wizyt
pytanie zadane 4 kwietnia 2015 w PHP przez wanderer Gaduła (3,710 p.)
0 głosów
4 odpowiedzi 707 wizyt
+1 głos
1 odpowiedź 499 wizyt
pytanie zadane 11 maja 2021 w Visual Basic przez Misiek Mądrala (5,300 p.)

92,579 zapytań

141,427 odpowiedzi

319,653 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!

...