我的问题是:
Iphone
开发人员向我发送图像或.doc
或.pdf
或等...文件给我以使用服务存储在数据库中
所以我直接尝试将它们存储在数据库中,但问题是如果他们向我发送一个 1MB 的文件,然后由于其大小而无法将其存储在数据库中,所以我正在考虑将上传的文件iphone
保存到一个文件夹中并将该路径保存在数据库...
我知道如何将图像存储在来自发布功能的文件夹中,但对这个功能很陌生,所以你能帮我解决这个问题......
$_GET
使用或$_POST
变量检索正常数据。$_FILES
使用变量访问上传的文件。其中$_FILES
是您可以检索以存储在数据库中的名称。
要在指定文件夹中上传图像,请使用:
if($_FILES["file"]["name"]!="")
{
move_uploaded_file($_FILES["file"]["tmp_name"], "images/portfolio/presentation/".$_FILES["file"]["name"]);
}
然后是 mysql 查询。如果你想检查文件,那么你可以使用这个:
function chk_image($imgname,$imgtype,$imgerr)
{
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $imgname));
$err = '';
if ((($imgtype == "image/gif") || ($imgtype == "image/jpeg") || ($imgtype == "image/png")|| ($imgtype == "image/pjpeg")) && in_array($extension, $allowedExts))
{
if ($imgerr > 0)
{
$err = "Invalid file";
}
}
else
{
$err = "Invalid file (Please attach only image file).";
}
return $err;
}
这是解码来自 iPhone 的图像....
$imgdata = base64_decode($child);
$f = finfo_open();
这里我知道来自 iPhone 的文件类型
$mime_type = finfo_buffer($f,$imgdata, FILEINFO_MIME_TYPE);
$i = strpos($mime_type,'/');
$type = substr($mime_type,$i+1);
这里将文件名保存为 time() 值....
$Image1=time().'.'.$type;
这里将该文件保存在名为 files 的文件夹中......
file_put_contents('files/'.$Image1,$imgdata);
$Image='files/'.time().'.'.$type;