我想在上传图片/文档的同时显示文件上传按钮的页面上显示缩略图。 请帮我一下我是一个业余编码器,谢谢。如何在php中获取上传文档的缩略图
0
A
回答
1
首先,您必须明白,不存在诸如PDF,Word文档,MP3,视频等文档的缩略图。这意味着您必须自己创建这些缩略图。其次,为了让任何上传的图片具有缩略图,您需要明确地创建相同图像的缩放版缩略图。否则,将上传的文件移动到服务器只需移动原始文件:无需调整其大小。
如果您没有使用任何Framework或者您无法访问CodeBase中的图像处理库,则可能需要检出:WideImage。通过Composer在您的项目中加入WideImage,try this Link。这将帮助您调整上传的文件大小。还有其他的;你可能只需要自己做一点研究......
最后;如果您需要即时反馈(上载文档的缩略图显示),您可能不得不求助于AJAX。这具有执行异步操作的优势,这意味着:您可以上传文档,并在上传完成后;缩略图即刻显示在您的页面上。
如果您对AJAX不太了解,那么您可能需要付费访问此AJAX Tutorial Website。
1
好吧,这会有所帮助。
define ("MAX_SIZE","4000");
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$errors=0;
$image =$_FILES["upload_field_name"]["name"];
$uploadedfile = $_FILES['upload_field_name']['tmp_name'];
if ($image)
{
$filename = stripslashes($_FILES['upload_field_name']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
echo"<script>alert('Unknown Image extension');</script>";
die;
$errors=1;
}
else
{
$size=filesize($_FILES['upload_field_name']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
echo"<script>alert('You have exceeded the size limit!');</script>";
die;
$errors=1;
}
if($extension=="jpg" || $extension=="jpeg")
{
$uploadedfile = $_FILES['upload_field_name']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
}
else if($extension=="png")
{
$uploadedfile = $_FILES['upload_field_name']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
}
else
{
$src = imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=60;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$newwidth1=30;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
$obj = mysql_fetch_object(mysql_query("SELECT MAX(id) as kk FROM your_table_name"));
$i = $obj->kk;
$i = $i+1;
$newname = 'dp'.$i.'.jpg';
rename($_FILES['upload_field_name']['name'], $newname);
$filename = "folder_name/".$newname;
$filename1 = "folder_name/small".$newname;
imagejpeg($tmp,$filename,100);
imagejpeg($tmp1,$filename1,100);
imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}}
玩得开心。
1
jQuery代码:
$(function() {
$("#uploadFile").on("change", function()
{
var files = !!this.files ? this.files : [];
if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support
if (/^image/.test(files[0].type)){ // only image file
var reader = new FileReader(); // instance of the FileReader
reader.readAsDataURL(files[0]); // read the local file
reader.onloadend = function(){ // set image data as background of div
$("#imagePreview").css("background-image", "url("+this.result+")");
}
}
});
});
HTML代码
<div id="imagePreview"></div>
<input id="uploadFile" type="file" name="image" class="img" />
CSS样式:
<style>
#imagePreview {
width: 180px;
height: 180px;
background-position: center center;
background-size: cover;
-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, .3);
display: inline-block;
}
</style>
0
的jQuery
<script type="text/javascript">
$(function() {
$("#uploadFile").on("change", function()
{
var files = !!this.files ? this.files : [];
if (!files.length || !window.FileReader) return; // no file selected, or no FileReader support
if (/^image/.test(files[0].type)){ // only image file
var reader = new FileReader(); // instance of the FileReader
reader.readAsDataURL(files[0]); // read the local file
reader.onloadend = function(){ // set image data as background of div
$("#imagePreview").css("background-image", "url("+this.result+")");
}
}
});
});
</script>
上面的jQuery的工作onChange事件的文件上传领域,并添加图像的背景给div。
HTML:用于图像格中,我们预览
<div id="imagePreview"></div>
<input id="uploadFile" type="file" name="image" class="img" />
CSS缩略图: CSS
<style>
#imagePreview {
width: 180px;
height: 180px;
background-position: center center;
background-size: cover;
-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, .3);
display: inline-block;
}
</style>
这就是:
相关问题
- 1. 使用php上传文件时创建文档缩略图
- 2. 如何从UsbStorageProvider文档获取视频缩略图uri
- 3. 如何获取保存在文档目录中的视频的缩略图
- 4. 在上传后创建缩略图,PHP
- 5. Codeigniter上传库获取缩略图文件名
- 6. 上传PHP的问题:缩略图撷取图像名称
- 7. 如何获取网站的缩略图?
- 8. 获取缩略图在ASP.NET
- 9. 如何在视频上传时创建缩略图? [php/codeigniter]
- 10. 生成文档缩略图
- 11. 如何获得像google doc一样的缩略图文档?
- 12. jQuery的 - 文件上传 - 缩略图
- 13. 如何使用phpthumb上传缩略图?
- 14. 如何在DropZone.js上创建上传图片的缩略图?
- 15. Dmcloud API:如何获取视频上传的缩略图上Dmcloud与Java API?
- 16. 如何从Android中的.mov文件获取缩略图?
- 17. 如何在Marklogic Server中获取上传的文档名称?
- 18. WordPress的获取缩略图
- 19. 如何在这篇文章中缩略图缩略图?
- 20. 如何获取视频缩略图?
- 21. 包括在PHP中的缩略图上传代码
- 22. 是否可能从.doc或.xls文档获取缩略图?
- 23. 如何获取不同文件的缩略图图像?
- 24. 如何获取特定文件的图标或缩略图
- 25. 如何在QLPreviewcontroller文档预览中隐藏缩略图栏
- 26. 在Wordpress中获取张贴缩略图
- 27. 如何在dmcloud.net上从上传的视频创建缩略图
- 28. Java:如何从文件中获取缩略图
- 29. 如何在ASP.NET中上传视频时捕获视频的缩略图?
- 30. 如何获取Android的视频文件的缩略图
请编辑您的问题,以显示你已经尝试这样远。您应该包含您遇到问题的代码的最小,完整和可验证示例,然后我们可以尝试帮助解决特定问题。您还应该阅读如何提问 - http:// stackoverflow。com/help/how-to-ask – Atf
非常感谢很多人,但我想到了,在使用jquery上传器之后,它解决了我的问题。 – Mandy