我的代码
<?php
if($_FILES["pic"]["error"] > 0){
switch($_FILES["pic"]["error"]) {
case 1:
echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值<br>";
break;
case 2:
echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
break;
case 3:
echo "文件只有部分被上传";
break;
case 4:
echo "没有文件被上传";
break;
default:
echo "末知错误";
}
exit;
}
$maxsize=4000000;
if($_FILES['pic']['size']>$maxsize){
echo "上传文件太大,不能超过{$maxsize}字节";
exit;
}
$allowtype=array("png","gif","jpg","jpeg");
$arr=explode(".",$_FILES['pic']['name']);
$hz=$arr[count($arr)-1];
if(!in_array($hz,$allowtype)){
echo "这是不允许的类型";
exit;
}
if(is_uploaded_file($_FILES['pic']['tmp_name'])){
if(move_uploaded_file($_FILES['pic']['tmp_name'],"./uploads/".$_FILES['pic']['name'])){
echo "上传成功";
}else{
echo "上传失败";
}
}else{
echo "不是一个上传文件";
}
问题是怎样将成功上传的图片插入MYSQL数据库呢?
//var_dump($_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>";
}
?>
上传完图片,把图片路径,图片名称写到数据库追问
我怎样获得上传后的图片路径和图片名称呢?
追答你定义好图片路径不就行了,图片名称可以按规则生成,比如时间再加几个随机数字
追问能够把代码写出来吗?比如,我的图片上传路径为./uploads/,图片上传后的名字为1.gif。万分感激
那么我怎样获得图片上传后的地址呢?