2016-07-29 11 views
-1

このチュートリアルは、インターネット上でphpでアップロードフォームを作成する方法を見つけました。それはかなり良く説明されていますが、私はいくつかの追加機能を追加する必要があります。それがあなたの助けを必要とする理由です。phpでファイルをアップロードしてドキュメントを作成するときにダウンロードリンクを表示する

<?php 
require 'config.php'; 

if (isset ($_SERVER ['REQUEST_METHOD']) == 'POST') { 
// when submit button is clicked 
if (isset ($_POST ['submit'])) { 
    // get user's data 
    $name = $_POST ['name']; 
    $email = $_POST ['email']; 
    $images = ""; 

    // check if user has added images 
    if(strlen(($_FILES ['upload'] ['tmp_name'] [0])) != 0){ 
    $upload_dir = "images/"; 

    // move all uploaded images in directory 
    for ($i = 0; $i < count($_FILES['upload']['name']); $i++) { 
    $ext = substr(strrchr($_FILES['upload']['name'][$i], "."), 1); 

    // generate a random new file name to avoid name conflict 
    $fPath = md5(rand() * time()) . ".$ext"; 
    $images .= $fPath.";"; 

    $result = move_uploaded_file($_FILES['upload']['tmp_name'][$i], $upload_dir . $fPath); 
    } 
    }else { 
    // if user doesn't have any images, add default value 
    $images .= "no images"; 
    } 

    // write the user's data in database 
    // prepare the query 
    $query = "INSERT INTO users(name, email,images) VALUES 
    ('$name', '$email','$images')"; 

    // TODO check if the user's informations are successfully added 
    // in the database 
    $result = mysql_query ($query); 
} 
} 
?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"/> 
<title>Upload File/s</title> 
<link rel="stylesheet" type="text/css" href="css/style.css"> 
</head> 
<body> 
<!-- form container --> 
<div id="form"> 
    <form action="" name="form1" method="POST" enctype="multipart/form-data"> 
    <input name="name" type="text" id="name" value="name" /> 
    <input name="email" type="email" id="email" value="[email protected]" /> 
    <div class="upload"> 
      <input type="file" name="upload[]" id="upload" multiple/> 
     </div> 
    <Button id="save" name="submit" type="submit" value="submit">Upload and Save</Button> 
    </form> 
</div> 
</body> 
</html> 

ファイルがアップロードされると、ダウンロードリンクは表示されず、ファイルはアップロード時にランダムな名前になります。私が今したいのは、ダウンロードリンクを表示し、ファイル(pdf、png、jpg、その他のイメージタイプ)を強制的にダウンロードさせ、別のタブに表示させないことです。それも可能な場合は、私はファイルがアップロードされたときに同じファイル名を保持したいと思います。

ありがとうございます。

+0

それはよく説明されていると言いました。 //新しいランダムファイル名を生成してください。 –

答えて

0

スクリプトは、ダウンロードするURLを$ image変数に保存します。最初に画像をグローバルに可変にします。

<?php 
$images=""; 
//rest 

これでどこにでもアクセスできます。あなたのhtmlの中にそれをエコーすることができます

<div id="response"> 
<?php 
//get every single image in an array 
$img=explode(";",$images); 
if($img[0]=="no images"){ 
echo "no uploads yet"; 
}else{ 
echo "<a href='images/". $img[1]."' download>Download</a>"; 
} 
?> 
</div> 
+0

外部 –

+0

ああ申し訳ありませんが、jsとphpが混乱しています。 Iveは編集しました –

+0

あなたのアップロードはうまくいきませんでした。 –

関連する問題