在过去的几个星期里,我问了几个关于这个主题的问题。似乎我越努力想弄清楚这个问题,我离解决方案就越远。这可能只是因为我是个白痴
以下是我所学内容的简要总结:
A)真的没有AJAX上传功能。您实际上只是在更新一个page表单元素。它看起来像AJAX,但实际上不是。
B)没有AjaxUpload插件的值。至少没有提到这个。在看了ajax上传的几个教程后,每个教程都提到了AjaxUpload.js插件,并且得到了绝对的bubkis,因为在他的页面上,它没有被命名为AjaxUpload.js,它的名字是别的东西。如果它真的存在的话。我不想经历重命名的麻烦,只是看看会发生什么,因为这通常只会导致丑陋的错误。
C)许多解决方案似乎使用了CAKE。不太确定这到底是什么,但它看起来像是基于流行的MVC设计模式的某种PHP设计模式。不过我不太确定。
D)这似乎是一项非常艰巨的任务。这不是需要几行代码和祈祷的事情。
PHP代码看起来很简单。只需调用移动文件的函数…D2) jquery看起来有点棘手。这里是您调用上述php函数的地方。我想在上传的文本框中点击时调用这个。一个简单的
$('form#inputId').change(function (){//insert the code to call php function here});
应该这样做,对吗?关键是我在花括号里写了什么?
这就是我对这个主题所了解的全部……这就是我所拥有的…… <?php
$link = mysql_connect('greetmeet.ipagemysql.com', 'greetmeet', 'Maverick$41');
mysql_select_db(first_1) or die("Opps, You are pretty Got-Damned Stupid! Did you realize that?!?!?");
$target = './Uploads/';
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
$path = "uploads/";
$Email = $_SESSION['user_email']; //This should be a session ID. Must talk this over with Fellow Coder That Nigga, LJeezy West...
$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))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024)) // Image size max 1 MB
{
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
mysql_query("UPDATE user_pics SET profile_pic='$actual_image_name' WHERE Email='$Email'");
echo "<img src='uploads/".$actual_image_name."' class='preview'>";
}
else
echo "failed";
}
else
echo "Image file size max 1 MB";
}
else
echo "Invalid file format..";
}
else
echo "Please select image..!";
exit;
}
?>
这是我要调用的php函数它会把文件移到服务器上然后把链接放到数据库中
再一次,我的jquery代码非常混乱,可能都是错误的。我只是不知道该怎么做。我现在只想要简单的东西。没什么特别的,只要上传照片和预览,然后提交完成一切。无论如何,我可以做到这一点,把图片直接在mysql btw?,这个教程似乎很有用……http://www.akchauhan.com/upload-image-using-hidden-iframe/但真的很难理解……
这是一个插件的例子,使用AjaxUpload…哪里是AjaxUpload.js文件?http://www.zurb.com/playground/ajax_upload
我建议使用插件"ajaxfileupload.js"。这很容易使用。请点击下面的链接获取说明和下载:http://www.phpletter.com/Our-Projects/AjaxFileUpload/
注意:这是不使用任何flash。这是它好的一面。
在您提到的教程中,您可能会迷失在链接中,因为所使用的组件停止了维护。总之,你可以在这里找到项目。你需要的是项目根目录下的ajaxupload.js文件