PHP 怎么下载没有后缀的图片

PHP 怎么下载没有后缀的图片,第1张

保存比较简单,使用 file_get_contents 和 file_put_contents ,比较麻烦(应该是没想到)的是如何获取类型,这个可以通过响应头来判断,响应头有一个属性 Content-Type ,它就是 mime ,做好 mime 和 文件扩展名的映射,就可以知道文件的扩展名了。下面这个函数可以做个参考:

/

  保存

  @param $url 要保存的链接

  @return 保存的字节数,失败则返回 false

 /

function saveFile($url)

{

    // mime 和 扩展名 的映射

    $mimes=array(

        'image/bmp'=>'bmp',

        'image/gif'=>'gif',

        'image/jpeg'=>'jpg',

        'image/png'=>'png',

    );

    // 获取响应头

    if(($headers=get_headers($url, 1))!==false)

    {

        // 获取响应的类型

        $type=$headers['Content-Type'];

        // 如果符合我们要的类型

        if(isset($mimes[$type]))

        {

            $fileName=uniqid();

            $ext=$mimes[$type];

            $file="temp/$fileName$ext";

            // 获取数据并保存

            $contents=file_get_contents($url);

            return file_put_contents($file, $contents);

         }

    }

    return false;

}

一般情况应该是路径不对

你的路径还是本地文件的路径,在运行环境中打开的话出不来,即使出来了,那放在别的机器上也是看不到的,你的这些路径最好是在当前服务器指向的文件夹内。如果引用网络上的文件那另当别论

比如这种路径

<img src="__ROOT__/public/home/images/logojpg" alt=""/>

上传模板$this->isadmin改为1,swf2ckeditorjs flashupload方法indexphp改为/indexphp;attachment xjtUploadphp function swfupload注释else第一行就OK了。

以img标签来开头,在网页的主体部分(即HTML的<body>部分)找到你想要插入的位置。

在这里写下<img>标签。这是一个空标签,创建的是被引用图像的占位空间。

同时在HTML中,<img> 标签是没有结束标签的。您需要将插入的放在两个尖括号之中。

示例:<img src="文件路径/名称">

第一步:通过$_FILES获取文件信息。

第二步:指定新文件名称以及路径,并赋值给一个变量。

第三步:通过move_uploaded_file上传文件。

第四步:上传成功后,将数值存入数据库服务器目录即可。

代码如下

1connphp

$host="localhost"; //数据库服务器名称 

$user="root"; //用户名 

$pwd="1721"; //密码 

$conn=mysql_connect($host,$user,$pwd); 

mysql_query("SET 

character_set_connection=gb2312, 

character_set_results=gb2312, 

character_set_client=binary",$conn); 

 

if ($conn==FALSE) 

echo "<center>服务器连接失败!<br>请刷新后重试。</center>"; 

return true; 

$databasename="database";//数据库名称 

 

do 

$con=mysql_select_db($databasename,$conn); 

}while(!$con); 

 

if ($con==FALSE) 

echo "<center>打开数据库失败!<br>请刷新后重试。</center>"; 

return true; 

 

>

2uploadphp

<php 

if ($_GET['action'] == "save"){ 

include_once('connphp'); 

include_once('uploadclassphp'); 

$title=$_POST['title']; 

$pic=$uploadfile; 

if($title == "") 

echo"<Script>windowalert('对不起!你输入的信息不完整!');historyback()</Script>"; 

$sql="insert into upload(title,pic) values('$title','$pic')"; 

$result=mysql_query($sql,$conn); 

//echo"<Script>windowalert('信息添加成功');locationhref='uploadphp'</Script>"; 

<html> 

<head> 

<title>文件上传实例</title> 

</head> 

<body> 

<form method="post" action="action=save" enctype="multipart/form-data"> 

<table border=0 cellspacing=0 cellpadding=0 align=center width="100%"> 

<tr> 

<td width=55 height=20 align="center"> </TD> 

<td height="16"> 

 

<table width="48%" height="93" border="0" cellpadding="0" cellspacing="0"> 

<tr> 

<td>标题:</td> 

<td><input name="title" type="text" id="title"></td> 

</tr> 

<tr> 

<td>文件: </td> 

<td><label> 

<input name="file" type="file" value="浏览" > 

<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 

</label></td> 

</tr> 

<tr> 

<td> </td> 

<td><input type="submit" value="上 传" name="upload"></td> 

</tr> 

</table></td> 

</tr> 

</table> 

</form> 

 

</body> 

</html>

3uploadclassphp

<php 

$uploaddir = "upfiles/";//设置文件保存目录 注意包含/ 

$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型 

$patch="/upload/";//程序所在路径 

 

//获取文件后缀名函数 

function fileext($filename) 

return substr(strrchr($filename, ''), 1); 

//生成随机文件名函数 

function random($length) 

$hash = 'CR-'; 

$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; 

$max = strlen($chars) - 1; 

mt_srand((double)microtime()  1000000); 

for($i = 0; $i < $length; $i++) 

$hash = $chars[mt_rand(0, $max)]; 

return $hash; 

 

$a=strtolower(fileext($_FILES['file']['name'])); 

//判断文件类型 

if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type)) 

$text=implode(",",$type); 

echo "您只能上传以下类型文件: ",$text,"<br>"; 

//生成目标文件的文件名 

else{ 

$filename=explode("",$_FILES['file']['name']); 

do 

$filename[0]=random(10); //设置随机数长度 

$name=implode("",$filename); 

//$name1=$name"Mcncc"; 

$uploadfile=$uploaddir$name; 

 

while(file_exists($uploadfile)); 

 

if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)) 

if(is_uploaded_file($_FILES['file']['tmp_name'])) 

 

echo "上传失败!"; 

else 

{//输出预览 

echo "<center>您的文件已经上传完毕 上传预览: </center><br><center><img src='$uploadfile'></center>"; 

echo "<br><center><a href='uploadhtm'>继续上传</a></center>"; 

 

>

不只是,网页上的任何路径,都不要使用C:\

之类的路径,你这种路径,表示是在本地磁盘C中的文件

但你的站点根目录是只能读取远程上的文件以及目录本身的文件,比如你的站点是设置在D:\>当然,也可以使用>

以上就是关于PHP 怎么下载没有后缀的图片全部的内容,包括:PHP 怎么下载没有后缀的图片、thinkphp html前台 图片不显示是怎么回事,哪位大神给我解答一下!!、phpcms v9后台上传图片功能前台调用方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9510617.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存