0

jQueryフォームプラグイン( http://jquery.malsup.com/form)を使用して写真をアップロードおよびプレビューしようとしています。何らかの理由で、ajaxForm関数を使用してPHPに渡されるはずの文字列が空を返しています。

コードは以下に書かれています。関数を実行するたびに、両方に対して「データなし」が返されるため、フォーム値(アップロードされたファイルである必要があります)がajaxForm関数を介してPHPに渡されていないと想定できます$name$size

誰か助けてもらえますか?私はこれを何時間もいじっています!ajaxFormプラグイン自体のコードを見てみましたが、それは私の能力と理解をはるかに超えています!また、オンラインのどこにも同様の例を見つけることができません!

ありがとう!!

HTML

<form id="imageform" method="post" enctype="multipart/form-data" action="uploadphoto.php">
 <span id="pimg">
  <input type="file" id="photoimg" />
 </span>
</form>

<div id="preview"></div>

jQuery

$(document).ready(function (){

$('#photoimg').live('change', function(){ 
 $("#preview").html('');
 $("#preview").html('<img src="../../images/loader.gif" alt="Uploading...."/>');
 $("#imageform").ajaxForm({
  target: '#preview'
  }).submit();
 });

});

PHP

<?php
include('../../dbconnect.php');
session_start();
$session_id=$_SESSION['email']; // User session id
$path = "../../photos/";

$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
 $name = $_FILES['photoimg']['name'];
 $size = $_FILES['photoimg']['size'];
 if(strlen($name)){
  echo ($name);
  }
 else {
  echo ("No Data");
  }
 if(strlen($size)){
  echo ($size);
  }
 else {
  echo ("No Data");
  }
exit;
}
?>
4

1 に答える 1

3

変更のように、入力タイプに名前を使用します。

<input type="file" id="photoimg" />

<input type="file" name="photoimg" id="photoimg" />
于 2013-02-13T10:46:35.673 に答える