Maison  >  Article  >  développement back-end  >  Opérations de fichiers et de formulaires et opérations de base de données impliquées dans le téléchargement de fichiers PHP

Opérations de fichiers et de formulaires et opérations de base de données impliquées dans le téléchargement de fichiers PHP

墨辰丷
墨辰丷original
2018-06-08 16:44:172510parcourir

Cet article présente principalement les opérations sur les fichiers et les formulaires ainsi que les opérations de base de données impliquées dans le téléchargement de fichiers php. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

L'exemple de cet article décrit la méthode de téléchargement de fichiers et de leur stockage dans la base de données en PHP. Les détails sont les suivants :

Le fichier show_add.php est le suivant :

<?php     
  if(!isset($_REQUEST[&#39;id&#39;]) or $_REQUEST[&#39;id&#39;]=="") die("error: id none");
  $id = $_REQUEST[&#39;id&#39;];
  //定位记录,读出
  $conn=mysql_connect("localhost","root","admin");
  if(!$conn) die("error: mysql connect failed");
  mysql_select_db("nokiapaymentplat",$conn);
  $sql = "select * from receive where id=$id";
  $result = mysql_query($sql,$conn);
  if(!$result) die("error: mysql query");
  $num=mysql_num_rows($result);
  if($num<1) die("error: no this recorder");
  $data = mysql_result($result,0,"file_data");
  $type = mysql_result($result,0,"file_type");
  $name = mysql_result($result,0,"file_name");
  mysql_close($conn);
  //先输出相应的文件头,并且恢复原来的文件名
  header("Content-type:$type");
  header("Content-Disposition: attachment; filename=$name");
  echo $data;
?>

le fichier show_info.php est le suivant :

<?php 
   if(!isset($_REQUEST[&#39;id&#39;]) or $_REQUEST[&#39;id&#39;]=="") die("error: id none");
  $id = $_REQUEST[&#39;id&#39;];
  //定位记录,读出
  $conn=mysql_connect("localhost","root","admin");
  if(!$conn) die("error: mysql connect failed");
  mysql_select_db("nokiapaymentplat",$conn);
  $sql = "select file_name ,file_size from receive where id=$id";
  $result = mysql_query($sql,$conn);
  if(!$result) die(" error: mysql query");
  //如果没有指定的记录,则报错
  $num=mysql_num_rows($result);
  if($num<1) die("error: no this recorder");
  //下面两句程序也可以这么写
  //$row=mysql_fetch_object($result);
  //$name=$row->name;
  //$size=$row->size;
  $name = mysql_result($result,0,"file_name");
  $size = mysql_result($result,0,"file_size");
  mysql_close($conn);
  echo "<hr>上传的文件的信息:";
  echo "<br>The file&#39;s name - $name";  
  echo "<br>The file&#39;s size - $size"; 
  echo "<br><a href=show_add.php?id=$id>附件</a>";
?>

submit.php le fichier est le suivant :

<?php  
  if(is_uploaded_file($_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;])) {
  //有了上传文件了 
  $myfile=$_FILES["myfile"];
    //设置超时限制时间,缺省时间为 30秒,设置为0时为不限时
    $time_limit=60;     
    set_time_limit($time_limit); //
    //把文件内容读到字符串中
    $fp=fopen($myfile[&#39;tmp_name&#39;], "rb");
    if(!$fp) die("file open error");
    $file_data = addslashes(fread($fp, filesize($myfile[&#39;tmp_name&#39;])));
    fclose($fp);
    unlink($myfile[&#39;tmp_name&#39;]); 
    //文件格式,名字,大小
    $file_type=$myfile["type"];
    $file_name=$myfile["name"];
    $file_size=$myfile["size"];
    die($file_type);
    //连接数据库,把文件存到数据库中
    $conn=mysql_connect("localhost","root","admin");
    if(!$conn) die("error : mysql connect failed");
    mysql_select_db("nokiapaymentplat",$conn);
    $sql="insert into receive 
    (file_data,file_type,file_name,file_size) 
    values (&#39;$file_data&#39;,&#39;$file_type&#39;,&#39;$file_name&#39;,$file_size)";
    $result=mysql_query($sql,$conn);
    //下面这句取出了刚才的insert语句的id
    $id=mysql_insert_id();
    mysql_close($conn);
    set_time_limit(30); //恢复缺省超时设置 
    echo "上传成功--- ";
    echo "<a href=&#39;show_info.php?id=$id&#39;>显示上传文件信息</a>";
  }  
  else {  
    echo "你没有上传任何文件";  
  }  
?>

le fichier upload.php est le suivant :



<html>  
<head>  
<title>文件上传表单</title>  
</head>  
<body>  
<table>  
<form enctype=&#39;multipart/form-data&#39; name=&#39;myform&#39; action=&#39;submit.php&#39; 
method=&#39;post&#39;>  
<INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000">
<tr><td>选择上传文件</td><td>
<input name=&#39;myfile&#39; type=&#39;file&#39;></td></tr> 
<tr><td colspan=&#39;2&#39;><input name=&#39;submit&#39; value=&#39;上传&#39;  type=&#39;submit&#39;></td></tr>  
</table>  
</body>  
</html>

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

méthode de correspondance de recherche automatique de saisie en temps réel php+ajax

Basé sur jQuery, implémente une fonction de notation via PHP et MySQL

Application de variables PHP, de tableaux, d'expressions régulières et de modèles

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn