Maison  >  Article  >  développement back-end  >  PHP implémente des méthodes côté client et côté serveur pour télécharger des images

PHP implémente des méthodes côté client et côté serveur pour télécharger des images

墨辰丷
墨辰丷original
2018-06-11 17:59:531804parcourir

Cet article présente principalement les méthodes d'implémentation côté client et côté serveur de téléchargement d'images en PHP. Il implique les compétences d'exploitation de fichiers en PHP et implique des méthodes courantes telles que la vérification du suffixe d'image et le renommage de fichiers. et les amis dans le besoin peuvent s'y référer. Suivant

L'exemple de cet article décrit les méthodes d'implémentation côté client et serveur pour télécharger des images en PHP. Les détails sont les suivants :

Code du formulaire front-end

<form name="form1" method="post" action="admin_upfile.php" enctype="multipart/form-data">
  <input type="file" name="pic">
  <input type="submit" name="Submit" value="开始上传" class="button">
</form>

Code php back-end

<?php
//这里上传 $upsize判断上传文件的大小
$uppath = "/attached/"; //文件上传路径
//转换根目录的路径
if (strpos($uppath, "/") == 0)
{
  $i = 0;
  $thpath = $_SERVER["SCRIPT_NAME"];
  $thpath = substr($thpath, 1, strlen($thpath));
  while (strripos($thpath, "/") !== false)
  {
 $thpath = substr($thpath, strpos($thpath, "/") + 1, strlen($thpath));
 $i = ++$i;
  }
  $pp = "";
  for ($j = 0; $j < $i; ++$j)
  {
 $pp .= "../";
  }
  $uppaths = $pp . substr($uppath, 1, strlen($thpath));
}
$filename = date("y-m-d");
if (is_dir($uppaths . $filename) != TRUE)
  mkdir($uppaths . $filename, 0777);
$f = $_FILES[&#39;pic&#39;];
if ($f["type"] != "image/gif" && $f["type"] != "image/pjpeg" && $f["type"] != "image/jpeg" && $f["type"] != "image/x-png")
{
  echo "<script>alert(&#39;只能上传图片格式的文件&#39;);window.close()</script>";
  return false;
}
//获得文件扩展名
$temp_arr = explode(".", $f["name"]);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//新文件名
$new_file_name = md5(date("YmdHis")) . &#39;.&#39; . $file_ext;
echo $dest = $uppaths . $filename . "/" . date("ymdhis") . "_" . 
$new_file_name; //设置文件名为日期加上文件名避免重复 上传目录
echo $dest1 = $uppath . $filename . "/" . date("ymdhis") . "_" . 
$new_file_name; //设置文件名为日期加上文件名避免重复
$r = move_uploaded_file($f[&#39;tmp_name&#39;], $dest);
?>

Résumé : Ce qui précède C'est tout le contenu de cet article, j'espère qu'il pourra être utile à l'étude de chacun.

Recommandations associées :

Comment obtenir un téléchargement sans actualisation en combinant un modèle php avec le plug-in de téléchargement js

Numéros PHP et code de vérification des opérations de numéro

Comment utiliser PHP pour appeler en continu des fonctions à l'aide d'appels en chaîne

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