亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Téléchargement simple de fichiers vers la base de données MySql développée en PHP (3)

Dans cette section, nous allons mettre en place plusieurs fonctions personnalisées pour générer de nouvelles adresses de fichiers et les enregistrer dans la base de données.

Tout d'abord, les photos que nous téléchargeons ont une adresse, telle que 123.jpg, abc.png, etc.

Nous devons conserver le suffixe .jpg, .png

Utilisez deux fonctions pour intercepter le nom du suffixe du chemin du fichier d'origine. La fonction

strrchr() trouve la dernière occurrence d'une cha?ne dans une autre cha?ne et renvoie tous les caractères de cette position jusqu'à la fin du cha?ne.

La fonction substr() renvoie une partie d'une cha?ne.

<?php
function fileext($filename)
{  
  return substr(strrchr($filename, '.'), 1);
}
?>

fileext est le nom de la fonction que nous avons défini et filename est le nom du fichier d'origine.

Ensuite, nous allons générer un nouveau nom de chemin à enregistrer dans la base de données

Ici, nous devons également personnaliser une fonction aléatoire

Définir un préfixe CR- , de manière aléatoire sélectionnez-en quelques-unes parmi les lettres A-Z, a-z, 0-9 et mélangez-les pour générer un nouveau préfixe de nom de chemin

Utilisez la fonction : strlen() La fonction renvoie la longueur de la cha?ne. La fonction

<?php
function random($length)
{
  $hash = 'CR-';
  $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
  $max = strlen($chars) - 1;
  mt_srand((double)microtime() * 1000000);
  for($i = 0; $i < $length; $i++)
  {
    $hash .= $chars[mt_rand(0, $max)];
  }
  return $hash;
}
?>

Générer le nom du fichier cible

<?php
$filename=explode(".",$_FILES['file']['name']);
  do{
    $filename[0]=random(10); //設(shè)置隨機數(shù)長度
    $name=implode(".",$filename);
      $uploadfile = $uploaddir.$name;
  }
  while(file_exists($uploadfile));
?>

explode() divise la cha?ne en un tableau. La fonction

implode() renvoie une cha?ne composée d'éléments de tableau.

Enfin, regroupez tous les fichiers dans un fichier PHP upload.php (le nom peut être créé en fonction des besoins et des fonctions)

<?php
$uploaddir = "upfiles/";//設(shè)置文件保存目錄 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//設(shè)置允許上傳文件的類型
//獲取文件后綴名函數(shù)
function fileext($filename)
{
  return substr(strrchr($filename, '.'), 1);
}
//生成隨機文件名函數(shù)
function random($length)
{
  $hash = 'CR-';
  $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
  $max = strlen($chars) - 1;
  mt_srand((double)microtime() * 1000000);
  for($i = 0; $i < $length; $i++)
  {
    $hash .= $chars[mt_rand(0, $max)];
  }
  return $hash;
}
$a = strtolower(fileext($_FILES['file']['name']));
//判斷文件類型
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))
{
  $text=implode(",",$type);
  echo "您只能上傳以下類型文件: ",$text,"<br>";
}
//生成目標(biāo)文件的文件名
else{
  $filename=explode(".",$_FILES['file']['name']);
  do{
    $filename[0]=random(10); //設(shè)置隨機數(shù)長度
    $name=implode(".",$filename);
    $uploadfile = $uploaddir.$name;
  }
  while(file_exists($uploadfile));
  
  if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile))
  {
    if(is_uploaded_file($_FILES['file']['tmp_name']))
    {
      echo "上傳失敗!";
    }
    else
    {//輸出圖片預(yù)覽
      echo "<tr><td>您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: <br><img src='$uploadfile'></td></tr>";
      echo "<tr><td><a href='tu2.php'style='margin-left: 3%;'>繼續(xù)上傳</a></td></tr>";
    }  //可以在前端HTML頁面顯示上傳的文件預(yù)覽
  }
}
?>


Formation continue
||
<?php $uploaddir = "upfiles/";//設(shè)置文件保存目錄 注意包含/ $type=array("jpg","gif","bmp","jpeg","png");//設(shè)置允許上傳文件的類型 //獲取文件后綴名函數(shù) function fileext($filename) { return substr(strrchr($filename, '.'), 1); } //生成隨機文件名函數(shù) function random($length) { $hash = 'CR-'; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) - 1; mt_srand((double)microtime() * 1000000); for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } return $hash; } $a = strtolower(fileext($_FILES['file']['name'])); //判斷文件類型 if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type)) { $text=implode(",",$type); echo "您只能上傳以下類型文件: ",$text,"<br>"; } //生成目標(biāo)文件的文件名 else{ $filename=explode(".",$_FILES['file']['name']); do{ $filename[0]=random(10); //設(shè)置隨機數(shù)長度 $name=implode(".",$filename); $uploadfile = $uploaddir.$name; } while(file_exists($uploadfile)); if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)) { if(is_uploaded_file($_FILES['file']['tmp_name'])) { echo "上傳失敗!"; } else {//輸出圖片預(yù)覽 echo "<tr><td>您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: <br><img src='$uploadfile'></td></tr>"; echo "<tr><td><a href='tu2.php'style='margin-left: 3%;'>繼續(xù)上傳</a></td></tr>"; } //可以在前端HTML頁面顯示上傳的文件預(yù)覽 } } ?>
soumettreRéinitialiser le code