Wątek przeniesiony 2015-11-10 21:39 z PHP przez dzek69.

Dodanie obrazu do bazy danych

0

Witam chce przechowywać w bazie danych avatar'y i zrobiłem sobie dla testów- nauki takie cos:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>

<BODY>
<FORM ACTION="UploadFTP.php" METHOD="POST" ENCTYPE="multipart-form-data">
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE ="8388608">
<INPUT TYPE="FILE" NAME="plik" VALUE="" size="30">
<INPUT TYPE="SUBMIT" VALUE="Wczytaj">
</FORM>

</BODY>
</HTML>

oraz skrypt z PHP:

<?PHP

if(isset($_FILES['plik']))
{
	if($_FILES['plik']['error']==UPLOAD_ERR_OK)
	{
		$filename=$_FILES['plik']['name']; 	//Nazwa pliku
		$filetype=$_FILES['plik']['type'];	//typ pliku
		$filesize=$_FILES['plik']['size'];	//rozmiar
		$filesrc=$_FILES['plik']['tmp_name'];// sciezka do pliku
		
		if($filetype=="image/png" || $filetype=="image/x-png" || $filetype=="image/gif" || $filetype=="image/jpeg" || $filetype=="image/pjpeg")
		{
			$plik=fopen($filesrc,"r"); //tryb odczytu
			$mysqlplik=addslashes(fread($plik,$filesize));
			fclose($plik);
			unlink($filesrc);
			$mysqlfiletype=addslashes($filetype);
			$conn=mysql_connect("nazwaSerwera","login","haslo") or die ('Bład polaczenia z baza MySQL:'.mysql_error());
			$result2=mysql_select_db("nazwaBazy",$conn) or die ('Bład podczas wyboru bazy:'.mysql_error());
			$sql1="INSERT INTO obrazy(ID_OBRAZY,obrazek,typ,nazwa,rozmiar) VALUES ('','$mysqlplik','$mysqlfiletype','$mysqlfilename','$filesize')";
			$result1=mysql_query($sql1,$conn) or die('Blad wykonania zapytania 1:'.mysql_error());	
		}
		else 
		{
			die("Nieobslugiwany format pliku!!!");
			exit;
		}
	}
	else
	{
		die("Bład podczas wysyłania pliku !!!");
		exit;
	}
}
else
{
	die("Nie wskazano pliku do wysłania!!!");
	exit;
}

Problem pojawia sie gdy wybrany już plik z komputera chce wysłać klikając button w formularzu. Wyświetla "Nie wskazano pliku do wysłania!!! " Można prosić o podpowiedź co może być nie tak ?

0
print_r($_FILES);
0

Ogólnie to kod do operacji na bazie koniecznie do zmiany (na PDO albo chociaż mysqli), reszta wg dokumentacji:
http://php.net/manual/en/features.file-upload.post-method.php

No i coś o mysqlach: http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?answertab=active#tab-top

1 użytkowników online, w tym zalogowanych: 0, gości: 1