Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySql] Problem przy dodawaniu zdjęć
Forum PHP.pl > Forum > PHP
MrDove
chcąc dodać zdjęcie pokazuje się komunikat "Problem: to nie jest plik graficzny!" chociaż wiem że to jest plik graficzny z rozszerzaniem pasującym do tego "'image/png','image/jpeg','image/gif'" skrypt ten działał do dodawałem nim zdjęcia do bazy i wszystko było ok, a teraz testując projekt natrafiłem na błąd w tym skrypcie... ;/

Kod
    <?php
if (isset($_SESSION['user']))
            {
if($lacz=lacz())
{
    






$login=$_SESSION['user'];
echo"
<table>
<tr>
<td><a href='edit.php'>Edytuj Dane</a> | </td>
<td><a href='edit2.php'>Dodaj Zdjęcie</a></td>
</tr>
</table>";

echo"

<h2>Dodaj zdjęcie</h2>
<form action='edit2.php' method='post'>
<table width='500' border='0'>
  <tr>
    <td width='200' align='right'>Opis zdjęcia:</td>
    <td><input type='text' name='koment_zdj' style='width:300px;'></td>
  </tr>
  <tr>
    <td align='right'>
      <input type='hidden' name='MAX_FILE_SIZE' value='500000' />
      Plik:
    </td>
    <td><input name='plikuzytkownika' type='file' /></td>
  </tr>
  <tr>
    <td colspan='2' align='center'><input type='submit' value='Wyślij' name='wyslij'></td>
  </tr>
</table>
</form>
";
if (isset($wyslij))
    {

$koment_zdj=$_POST['koment_zdj'];
$n_pliku=$_FILES['plikuzytkownika']['name'];

if($_FILES['plikuzytkownika']['error']>0)
{
  echo 'Problem: ';
  
  switch($_FILES['plikuzytkownika']['error'])
  {
   case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize';break;
   case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size';break;
   case 3: echo 'Plik wysłany tylko częściowo';break;
   case 4: echo 'Nie wysłano żadnego pliku';break;
  }
  exit;  
}
$dobre_typy=array('image/png','image/jpeg','image/gif');

echo $_FILES['plikuzytkownika']['type']."<br />";
if(!(in_array($_FILES['plikuzytkownika']['type'],$dobre_typy)))
{
   echo'Problem: to nie jest plik graficzny!';
   exit;
}

    $tablica = explode(".",$n_pliku);
    $rozszerzenie = $tablica[count($tablica)-1];//pobieram rozszerzenie pliku potrzebne to nowej wylosowanej przeze mnie nazwy pliku;
    $zestaw_znakow='0123456789';
    $zakres=strlen($zestaw_znakow);
          for ($i=0;$i<=10;$i++)
         {
             --$zakres;
             $haslo.=$zestaw_znakow[$wylosowano=(rand(0,$zakres))];
             $calosc=$haslo;
         }
    $adres=$calosc;//nadawanie plikowi własnej nazwy;
    $adrespliku=$calosc.'.'.$rozszerzenie;//nadawanie plikowi własnej nazwy;

$lacz = new mysqli('localhost','root','','dove');
$lacz->query("set names utf8");

$login=$_SESSION['user'];
  $wynik2 = $lacz->query("select * from foty where login='$login'");
if ($wynik2->num_rows>=7)
{
echo"przekroczyłeś limit, usuń jakieś foty";
exit;
}


    //umieszczenie pliku w pożądanej lokazlizacji
    $lokalizacja = './graf/'.$adrespliku;
    

    if(!move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'],$lokalizacja))
    {
        echo 'Problem: Plik nie może być skopiowany do katalogu';
        exit;
    }
    echo 'Plik wysłany<br />';


    $wynik = $lacz->query("insert into foty (id_zdj,calosc,rozszerzenie,koment_zdj,plik,login) values('','$calosc','$rozszerzenie','$koment_zdj','$n_pliku','$login')");


$lacz->close();
}
?>
</div>
</div>
      



</div>    


<?php

}else echo "Brak polaczenia z baza danych exclamation.gif!";
}else echo"<center id=c>Nie masz uprawnien do przegladania tego serwisu exclamation.gif! </br><a href='index.php'>Strona logowania</a></center>";
  function lacz()
  {
    $bd = @new mysqli('localhost', 'root', '', 'dove');
    if (mysqli_connect_errno() != 0)return false;
    else
    {
      $bd->query("set names utf8");
      return $bd;
    }
  }

  ?>
Niktoś
Spróbuj dodać do :
<form action='edit2.php' method='post' ENCTYPE="multipart/form-data">
MrDove
Dzięki za pomoc wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.