php上傳圖片到資料庫
1. php中上傳圖片之後怎麼把路徑寫入資料庫
你上傳文件後,可以使用 $_FILES 這個超級變數獲取到文件的信息,比如 $_FILES[『image']['tmp_name'] 就能獲取到對應的上傳文件的臨時目錄以及文件名。
一般上傳後你都會執行,move_uploaded_file() 操作,這樣新的文件名和路徑你就知道了,這時候再把文件路徑update或者insert到對應的欄位即可。
2. 用PHP實現圖片上傳到資料庫
<?php
@session_start();
require_once("./conf/config.php");
$file_type = $_FILES["pic"]["type"];
$file_name = $_FILES["pic"]["name"];
if ((($file_type == "image/gif")
|| ($file_type == "image/jpeg")
|| ($file_type == "image/pjpeg"))
&& ($_FILES["pic"]["size"] < 1000000))
{
if(!is_dir("upload/". date("md") . "/"))
{
mkdir("upload/". date("md") . "/");
}
if (file_exists("upload/" . date("md") . "/" . $file_name))
{
echo "圖片 " . $file_name . " 文件名已存在,請更換文件名再進行上傳. ";
}
else
{
$url = "upload/" . date("md") . "/" .$file_name;
move_uploaded_file($_FILES["pic"]["tmp_name"],
"upload/" . date("md") . "/" . $file_name);
}
}
else
{
echo "圖片文件不可用";
}
$userId = $_SESSION["userId"];
if($url){
$sql = "insert into photos(url, userId) values('$url', '$userId')";
$query = mysql_query($sql);
if($query){
die('<script>alert("圖片上傳成功");window.location="/photolist.htm";</script>');
}
}
?>
3. PHP將圖片存入資料庫
插入圖片和一般的數據沒什麼不同的,一般數據會了,傳圖片時候就用個move_uploaded_file改變下參數,主要是做這個的時候不要有負擔
以下供參考
<?
function upload_file($files,$folder)//上傳圖片
{
$file_tyle = $files['type'];
$file_type_arr = array('image/gif','image/x-png','image/jpg','image/pjpeg');
if(!in_array($file_tyle,$file_type_arr) )
{
exit('file type only can be: png,jpeg,jpg,gif');
}
$knamearray = explode(".",$files["name"]);
$kname = $knamearray[count($knamearray)-1];
$rand_str = date("ymdhis");
$file_name = $rand_str.".".$kname;
$savepath = "$folder/";
/*$savepath = "$folder/date_".date('YmdHis')."/";
if( !is_dir($savepath) ) mkdir($savepath);*/
$upfile = $savepath.$file_name;
if( !move_uploaded_file($files['tmp_name'],$upfile) )
{
exit('upload error, please check your file type: png,jpeg,jpg,gif');
}
return $file_name;//不要回傳值此行可注釋掉
}
?>
4. php圖片上傳成功後怎樣插入資料庫
<?php
//var_mp($_FILES);
for($i=1;$i<3;$i++){
//判斷文件上傳是否出錯
if($_FILES["myfile$i"]["error"]>0){
switch($_FILES["myfile$i"]["error"]){
case 1; echo"文件過大(大於php.ini 配置文件的限制)";break;
case 2; echo"文件超出了html表單Max_FILE_size選項所指定得值";break;
case 3; echo"文件只被部分上傳";break;
case 4; echo"沒有上載任何文件";break;
}
die;
}
//判斷文件類型
if(!in_array($_FILES["myfile$i"]["type"],array("image/jpeg","image/png","image/gif"))){
echo"文件類型不合法!(只能上傳jpg,gif,png格式圖片)" ;
continue;
die;
}
$dir = dirname(__FILE__)."/uploaded/";
$filename= $_FILES["myfile$i"]["name"];
if(is_uploaded_file($_FILES["myfile$i"]["tmp_name"])){
if(move_uploaded_file( $_FILES["myfile$i"]["tmp_name"],$dir.$filename)){
echo "文件上傳成功<br>" ;
file_put_contents("./data.txt"," <img src='http://localhost/jishiA/uploaded/".date("Y-m-d")."/".$filename."'width=200>\n",FILE_APPEND);
}else{
echo "文件移動失敗" ;
}
}else{
echo "文件不合法(非http post方式上傳的文件)" ;
}
}
$link = mysql_connect ("127.0.0.1","root","root") or die("連接資料庫失敗!");
//選擇庫
mysql_select_db("123");
//設置編碼
mysql_query("set names utf8");
//是否寫入到資料庫
if(mysql_query("insert into chuan(mysql1,mysql2) values('".$_FILES["myfile$i"]["name"]."','".$filename."')")){
echo "文件上傳成功<br>";
//顯示圖片
$str= file_get_contents("./data.txt");
$img_arr = explode("\n",$str);
foreach($img_arr as $img){
echo $img."<br>";
}
?>
5. PHP怎樣批量上傳圖片到資料庫並完整的建立資料庫
<!--HTMLSOURCE-->
<inputtype="file"name="upload[]"/>
<inputtype="file"name="upload[]"/>
<inputtype="file"name="upload[]"/>
...
<inputtype="file"name="upload[]"/>
//PHPSOURCE
<?php
foreach($_FILE['upload']AS$k=>$v)
{
print_r($v);//輸出後你就明白了
}
?>
6. 怎樣用php實現上傳圖片到資料庫
<?php
@session_start();
require_once("./conf/config.php");
$file_type = $_FILES["pic"]["type"];
$file_name = $_FILES["pic"]["name"];
if ((($file_type == "image/gif")
|| ($file_type == "image/jpeg")
|| ($file_type == "image/pjpeg"))
&& ($_FILES["pic"]["size"] < 1000000))
{
if(!is_dir("upload/". date("md") . "/"))
{
mkdir("upload/". date("md") . "/");
}
if (file_exists("upload/" . date("md") . "/" . $file_name))
{
echo "圖片 " . $file_name . " 文件名已存在,請更換文件名再進行上傳. ";
}
else
{
$url = "upload/" . date("md") . "/" .$file_name;
move_uploaded_file($_FILES["pic"]["tmp_name"],
"upload/" . date("md") . "/" . $file_name);
}
}
else
{
echo "圖片文件不可用";
}
$userId = $_SESSION["userId"];
if($url){
$sql = "insert into photos(url, userId) values('$url', '$userId')";
$query = mysql_query($sql);
if($query){
die('<script>alert("圖片上傳成功");window.location="/photolist.htm";</script>');
}
}
?>
7. php將上傳的圖片寫入到mysql資料庫中
建議樓主:
$con = mysql_connect('127.0.0.1','root','');
if(!$con){
echo'連接失敗!'
}
如果連不上就會輸出連接失敗;如果沒有輸出提示:
$isok = mysql_query(xxx);
如果插入失敗 $isok = false;
8. php把圖片上傳到資料庫並顯示
blob類型
<?php
/*******************************************************
** 文件名:upload_file.php
** Copyright @ 2009
** 創建人:tabor
** 日期:2009年7月24日 8:00
** 修改人:
** 日期:
** 描述:文件上傳操作以及對圖片文件的處理
** 版本:
********************************************************/
class upload_file {
//保存的文件名
public $file_name;
//系統中上傳文件的臨時存放路徑
public $file_tmp_name;
//文件大小
public $file_size;
//完整的文件類型
public $full_file_type;
//文件類型
public $file_type;
//文件是否覆蓋
public $override = 1;
//文件的保存路徑
public $file_save_path = '';
//上傳文件大小的最大值 單位是位元組 2M
public public $file_max_size = 210000000;
//public public $file_max_size = 102400;
//構造函數
function __construct($file_name = '', $file_tmp_name = '', $full_file_type = '', $file_size = '', $file_save_path = '') {
$this->file_name = $file_name;
$this->file_tmp_name = $file_tmp_name;
$this->full_file_type = $full_file_type;
$this->file_size = $file_size;
$this->file_save_path = $file_save_path;
}
//取得文件的後綴名,即文件類型
function get_file_type() {
$type_array = explode('.', $this->file_name);
return $type_array[count($type_array)-1];
}
//判斷文件的大小
function check_size() {
if($this->file_size > $this->file_max_size) {
return false;
}
return true;
}
//取得文件的大小
function get_size() {
return intval($this->file_size/1024);
}
//上傳圖片 格式 jpg,png,gif,pjpeg
function check_upload_pic() {
$type = $this->get_file_type();
$type_array = array('jpg', 'png', 'gif', 'bmp');
foreach($type_array as $value) {
if($value = $type) {
return true;
}
return false;
}
}
//上傳文件 格式 zip rar
function check_upload_file() {
$type = $this->get_file_type();
$type_array = array('jpg','gif','bmp','png');
foreach($type_array as $value) {
if($value == $type) {
return true;
}
return false;
}
}
//判斷文件是否存在
function check_exist() {
$file = $this->file_save_path.$this->file_name;
return file_exists($file);
}
//上傳文件
function move_upfile() {
if(!$this->check_upload_pic()) {
echo "ok1";
return false;
}
else {
if(!$this->check_size()) {
echo "ok2";
return false;
}
else {
// if($this->check_exist()) {
// echo "該文件已存在";
// return false;
// }
// else {
$path = $this->file_save_path.$this->file_name;
if(move_uploaded_file($this->file_tmp_name, $path)) {
return true;
}
else {
return false;
}
// }
}
}
}
//將上傳的圖片打水印
/**
* $water_pic_name 將要被打水印的目標圖片
* $water_word 水印文字
* $path 將來生成水印圖片的存放路徑
*/
function create_water_pic($water_word) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
switch($type) {
case 'jpg':
header("content-type:image/jpeg"); //定義輸出圖像的類型
$im = imagecreatefromjpeg($filename); //載入圖片
break;
case 'png':
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 'gif':
header("content-type:image/gif");
$im = imagecreatefromgif($filename);
break;
case 'bmp':
header("content-type:image/xbm"); //上傳bmp格式存在問題
$im = imagecreatefromxbm($filename); //無法打水印
break;
default: {
echo "文件格式不符";
}
}
$textcolor = imagecolorallocate($im, 56, 73,136); //設定字體的顏色
$font = "simhei.ttf"; //定義字體
$word = $water_word; //水印字元
$x = imagesx($im); //獲取圖片的寬度
$y = imagesy($im); //獲取文件的高度
$position_x = $x-80;
$position_y = $y-10;
$str = iconv('gbk', 'utf-8', $word); //將中文文字顯示出來的編碼過程
imagettftext($im, 20, 0, $position_x, $position_y, $textcolor, $font, $str);
//imagejpeg($im); //顯示圖片
$new = $this->file_save_path.'water'.$this->file_name; //生成新的文件名
switch($type) {
case 'jpg':
imagejpeg($im, $new); //生成jpg圖像
break;
case 'png':
imagepng($im, $new); //生成png圖像
break;
case 'gif':
imagegif($im, $new); //生成gif圖像
break;
case 'bmp':
imagexbm($im, $new); //生成bmp圖像 該格式的文件處理有問題
break;
default: {
echo "文件格式不符";
}
}
imagedestroy($im); //結束圖形,釋放內存空間*/
}
//生成縮略圖
/**
* $pic 圖片名 包括其擴展名,但不包括路徑
* $width 將來生成縮略圖的寬度
* $height 將來生成縮略圖的高度
* $path 生成縮略圖的存放路徑
*/
function create_thumbnail($width, $height) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
$img = getimagesize($filename);
//print_r($img);
//die();
switch($img[2]) {
case 1:
header("content-type:image/gif"); //定義輸出圖像的類型
$im = imagecreatefromgif($filename); //載入圖片
break;
case 2:
header("content-type:image/jpeg");
$im = imagecreatefromjpeg($filename);
break;
case 3:
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 6:
header("content-type:image/xbm"); //bmp格式存在問題
$im = imagecreatefromxbm($filename); //無法打水印
break;
default: {
echo "文件格式不符";
}
}
$thumb = imagecreatetruecolor($width, $height); //創建一個新的空白的面板
$color = imagecolorallocate($im, 200, 255, 100); //調色板
/*bool imageresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
imageresized() 將一幅圖像中的一塊正方形區域拷貝到另一個圖像中。dst_image 和 src_image 分別是目標圖像和源圖像的標識符。
*/
imageresized($thumb, $im, 0, 0, 0, 0, $width, $height, $img[0], $img[1]);
//imagejpeg($thumb);
$thumb_path = $this->file_save_path."thumbnail/".$this->file_name;
switch($img[2]) {
case 1:
imagejpeg($thumb, $thumb_path);
break;
case 2:
imagegif($thumb, $thumb_path);
break;
case 3:
imagepng($thumb, $thumb_path);
break;
case 6:
imagexbm($thumb, $thumb_path);
break;
default: {
echo "文件格式不符";
}
}
}
}
?>
前幾天做的一個類,可以正常的使用,但還存在問題,僅供參考!忘對您有所幫助
9. php上傳的圖片地址怎麼保存到資料庫裡面
把上傳地址變為字元串存進去,最好存絕對路徑或圖片名,存相對路徑,調用的時候會出錯
10. PHP如何把上傳到伺服器里的圖片路徑保存到資料庫里,添加代碼謝謝
||<?php
$type=$_FILES['filephoto']['type'];
if($type=='image/gif'|| $type=='image/jpeg'||$type=='image/pjpeg')
{
if($_FILES['filephoto']['size']<2*1024*1024)
{
$aa=substr($_FILES['filephoto']['name'],strpos($_FILES['filephoto']['name'],'.'));//圖片類型名 如 .png
$photo=date("yndhis").rand(10000,99999).$aa;//圖片名字
move_uploaded_file( $_FILES['filephoto']['tmp_name'] , 'photo/'.$photo );//上傳指定文件專夾
}//$image=文件夾名/圖片名 添加屬資料庫
}
?>