2009-08-24 34 views
0

私は、この入力コードをテキスト入力フォームに入力する方法は?

にして、私の「$のImagePath」を書き出すの最善の方法を知ってほしい。これは私のアップロードのスクリプト

<?php 
     if(isset($_POST['submit'])){ 
      if (isset ($_FILES['new_image'])){ 
       $imagename = $_FILES['new_image']['name']; 
       $source = $_FILES['new_image']['tmp_name']; 
       $target = "temporary_images/".$imagename; 
       move_uploaded_file($source, $target); 

       $imagepath = $imagename; 
       $save = "temporary_images/" . $imagepath; //This is the new file you saving 
       $file = "temporary_images/" . $imagepath; //This is the original file 

       list($width, $height) = getimagesize($file) ; 

       $modwidth = 350;       
       $modheight = 100; 

       $tn = imagecreatetruecolor($modwidth, $modheight) ; 
       $image = imagecreatefromjpeg($file) ; 
       imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; 

       imagejpeg($tn, $save, 100) ; 

       $save = "temporary_images/sml_" . $imagepath; //This is the new file you saving 
       $file = "temporary_images/" . $imagepath; //This is the original file 

       list($width, $height) = getimagesize($file) ; 

       $modwidth = 80; 
       $modheight = 100; 

       $tn = imagecreatetruecolor($modwidth, $modheight) ; 
       $image = imagecreatefromjpeg($file) ; 
       imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height) ; 

       imagejpeg($tn, $save, 100) ; 
      echo "Large image: <img src='temporary_images/".$imagepath."'><br>"; 
      echo "$imagepath" 
      } 
     } 

であり、これは私のフォーム

<form> 
<input name="animeinput" id="animeinput" size="20" class="textbox"> 
</form> 
+0

どのような関係のb/wフォームとコードですか? – Zed

答えて

2

た場合でありますあなたはマークアップに利用可能な変数を持っています:

<form> 
    <input name="animeinput" id="animeinput" size="20" class="textbox" value="<?php echo htmlspecialchars($imagePath); ?>" /> 
</form> 
+0

私の "スクリプト"はアップロードスクリプトです。あなたがページを読み込むときにアップロードされた画像がないので、$ imagepathを書くことができます。 画像に$ imagePathを書き込むことをお勧めします画像の名前が表示されるようアップロードされました。 どうすればいいですか? –

+0

@ Perのように、フォームが上記のアップロードコードと同じスクリプトファイル内にある場合は、マークアップを作成するときに$ imagePathを使用できます。マークアップに追加する必要があるかどうかを調べるためにnullをテストすることができます –

0

注意これを行うときにキャッシュとタイミングに問題が生じることがよくあります(フォームを送信した後に実際に画像を見るのに問題がある場合は、以下を参照してください)。結果のページがロードされる時間。 jquery/ajaxで画像を更新してこの問題を回避しました。

フォームが投稿され、画像がアップロードされると、画像への参照を隠しタグ#large_imageに保存します。次に、あなたの場合は

$(document).ready(function(){ 

    //read in hidden reference to image URL 
var large_photo = $("#large_image").val(); 

    //display relevent image (use placeholder if no image uploaded yet) 
if (large_photo != "") { 
    $("#photo_holder").html('<img src="' + large_photo + '" />'); 
} else { 
    $("#photo_holder").html('<img src="noimagefound.png" />'); 
} 

}); 

....このjqueryのを使用し、その後、代わりに画像srcをエコーのあなたは、イメージへのパスに隠されたタグをエコーでしょう。

希望するもの:

+0

私はあなたが私が意味していたと思っていません。 http://www.anitard.org/siggen/siggen_stripes/ 画像をアップロードしたときに写真が表示されます。 しかし、私は、フォーム

<入力名=「animeinput」ID =「animeinput」サイズ=「20」クラス=「テキストボックス」>でファイルの名前を書くためにスクリプトが必要

関連する問題