PHPファイルアップロード例

2570 ワード

JAVAを使い慣れて、PHPは本当に強いと感じて、ファイルをアップロードして意外にもいくつかの話ができました.プログラマーの悲しみなのか、プログラマーの悲しみなのか.
1.明らかに、まずというHTMLのデフォルトのラベルを使って、ユーザーがファイルを選択できるようにする必要があります.
2.$_でFILES[**」「name」]ではファイルの名前を取得できますが、実はアップロードボタンを押す前に、ファイルはすでにサーバーのデフォルトのフォルダにアップロードされているので、$FILES[**」「tmp_name」]は、一時記憶された名前を取得し、move_uploaded_file($src,$destination)は、ファイルを必要な場所に移動できます.
データベースについては、表示を読み込むためにファイルを格納する場所として機能します.サンプルコードは以下の通りである(現在PHPを使用するのはまだ非常に熟練していないため、コードは美観と丈夫性にこだわっていない.主に学んだ知識に対して実験的な役割を果たしている).
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8;"/>
		<title></title>
	</head>
	<body>
		<?php 
			//  sql  
			function executeSql($imgurl){
				
					$conn = mysqli_connect("localhost","root","root","test");
					$sql = "insert into tb_img(imgurl) values('{$imgurl}')";
					mysqli_query($conn,$sql);
					mysqli_close($conn);
			}
			
			//  sql    
			$conn = mysqli_connect("localhost","root","root","test");
			$sql = "select * from tb_img";
			$result = mysqli_query($conn,$sql);
			
			while(($row=mysqli_fetch_array($result))){
				
				echo "<img src='".$row["imgurl"]."'/><br/>";
			}
			
			if(isset($_POST["submit"])){
				
				//         
				if(empty($_FILES["myimg"]["name"])){
					
					echo '<script>alert("        。");</script>';
				}else{
					
					$destination = $_FILES["myimg"]["name"];
					move_uploaded_file($_FILES["myimg"]["tmp_name"], $destination);
					
					executeSql($destination);
					echo '    !';
				}
			}
		?>
		<!--     form  -->
		<form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
			<!--       -->
			<!--<input type="hidden" name="MAX_FILE_SIZE" value="32768"/>-->
			    :<input type="file" name="myimg" value="  "/>
			<input type="submit" value="  " name="submit"/>
		</form>
	</body>
</html>