php上传文件,form表单一定要加属性enctype="multipart/form-data"
html代码:
<div class="file-box">
<input type="text" name="textfield" id="textfield" class="textbox">
<input type="button" class="button" value="选择图片">
<input type="file" name="pic" class="file" id="fileField" οnchange="getPicName()">
</div>
css代码:
.file-box {
position: relative;
width: 340px;
display:inline-block;
}
.file {
position: absolute;
top: 0;
right: 30px;
height: 28px;
filter: alpha(opacity : 0);
opacity: 0;
width: 75px
}
js代码:(‘斜杠\’需要转义,在js里是“\\”,在php里是“\\\”)
function getPicName( ){
var path=$("#fileField").val();
// alert(path);
// var ex;
// ex=path.split('.');
// alert(ex[ex.length-1]); //jpg 结果
var name;
name=path.split('\\');
var bb=name[name.length-1];
// alert(bb); //AddFile.jpg 结果
// alert(bb.substr(0,bb.indexOf('.'))); //AddFile 结果
$("#textfield").val(bb);
}
php代码:
$newfile = "default.png";
if(!empty($_FILES["pic"]["tmp_name"])){
echo $_FILES["pic"]["tmp_name"];
echo $_FILES["pic"]["name"];
$ex = substr($_FILES["pic"]["name"],strrpos($_FILES["pic"]["name"],"."));
$newfile = time().$ex;
//file_put_contents("./pic/oout.txt", "xxx");
move_uploaded_file($_FILES["pic"]["tmp_name"],"../wp-content/themes/twentythirteen/pic/".$newfile);
}
最后一点,因为我的php执行脚本和html是写在同一个页面里的,本页提交,提交完还是这个页面,所以提交时,就会刷新页面,现在要实现判断哪个表单为空就不提交,但是submit按钮已经按下去了,不知道怎么实现。。想了好久,看到,form表单有个属性 οnsubmit="return false;" 所以只要在js控制这个属性就ok了。。
if(title!=""&&time!=""){
$('#form1').removeAttr('onsubmit');
}