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;
}
?>