本地已有图片,以PHP方式安静上传
发布网友
发布时间:2022-05-25 15:50
我来回答
共3个回答
热心网友
时间:2023-11-13 00:45
我理解的是要写一个php的图片上传程序是吗,那首先要确定\pic目录是可写目录
具体程序:
<?php
/**********************************************************************
* 文件上传(PHPSmartUpload)
* 创建时间 2006年9月07日
* 作者:
* ********************************************************************
以下隐藏部分为测试例子
echo '
<form method="POST" enctype="multipart/form-data" action="upload.php">
<p>
<input type="file" name="F1" size="20">
<input type="hidden" name="MAX_FILE_SIZE" value="30">
<input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2">
</p>
</form>';
if($_FILES["F1"]){
$upload = new PHPSmartUpload("F1");
$extendName = explode(".",$_FILES["F1"]["name"]);
$extendName = $extendName[count($extendName)-1];
$fileName = "自定义命名规则.".$extendName;
$err = $upload->upload("要上传的位置",$fileName,"文件的最大*(B)");
}
*/
define(UPLOAD_ERR_USER_SIZE,10);
define(UPLOAD_ERR_MOVE,11);
class PHPSmartUpload{
//表单中上出文件框名字
var $formName;
//
var $uploaddir;
/**
* 设置上传文件名称
*/
function PHPSmartUpload($formName){
$this->formName = $formName;
}
/**
* 获取错误信息
*/
function getErrMessage($err){
switch($err){
case UPLOAD_ERR_OK: $tip = "没有错误发生,文件上传成功";break;
case UPLOAD_ERR_INI_SIZE: $tip = "上传的文件超过了 php.ini 中 upload_max_filesize 选项*的值";break;
case UPLOAD_ERR_FORM_SIZE: $tip = "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";break;
case UPLOAD_ERR_PARTIAL: $tip = "文件只有部分被上传";break;
case UPLOAD_ERR_NO_FILE: $tip = "没有文件被上传"; break;
case UPLOAD_ERR_NO_TMP_DIR: $tip = "临时文件夹不存在"; break;
case UPLOAD_ERR_CANT_WRITE: $tip = "磁盘写入失败";break;
case UPLOAD_ERR_USER_SIZE: $tip = "超出用户限定文件大小";break;
case UPLOAD_ERR_MOVE: $tip = "复制上传文件失败";break;
}
return $tip;
}
/**
* 上传文件
*/
function upload($uploaddir,$newfilename,$maxSize){
//如果上传文件发生错误,返回错误信息
if($_FILES[$this->formName]["error"]!=0)
return $_FILES[$this->formName]["error"];
//检测文件是否超过*大小
if($_FILES[$this->formName]['size']> $maxSize)
return UPLOAD_ERR_USER_SIZE;
$this->uploaddir = $uploaddir;
//文件上传
$filename = $uploaddir."/".$newfilename;
if (!move_uploaded_file($_FILES[$this->formName]['tmp_name'],$filename)){
return UPLOAD_ERR_MOVE;
}
return UPLOAD_ERR_OK;
}
/**
* 计算文件大小
*/
function getSize(){
$filesize = $_FILES[$this->formName]["size"];
if($filesize < 1024) return ((string)$filesize)."B";
if($filesize >= 1024 && $filesize <= 1024*1024) return number_format((double)($filesize / 1024), 1) . " KB";
if($filesize > 1024*1024) return number_format((double)($filesize/(1024*1024)),1)."MB";
}
/**
* 读取上传路径
*/
function getUploadDir(){
return $this->uploaddir;
}
/**
* 读取上传文件类型
*/
function getType(){
return $_FILES[$this->formName]['type'];
}
}
?>
注释我写的很清楚,可以看一下。
回复,明白你的意思了,那样是不可以的,web语言不可以去客户端的硬盘里读取数据,需要手工导入。
再次回复,不可以,服务器不可以读客户端的硬盘东西,我认为设定绝对路径也不可以。因为php程序是在服务器端执行,客户端只是显示。 但可以这样:
首先把本机装一个环境,也可以执行php程序。。
把表单放到本地
把保单处理程序放到服务器
然后把文件放到本机的web目录,写一个程序在本机上读取文件然后通过表单自动提交到要上传的服务器,是可以实现的。
另:借助vb或者js在本机上都可以实现,但是前提是本机必须要执行这些程序才行,原理和上面说的类似。
热心网友
时间:2023-11-13 00:45
朋友你这个问题还用问那,你可以通过最简便的就是FTP中找到这个PIC然后复制粘贴。
如果说要PHP方式的话填写一下相关的绝对或相对地址就可以了~!!
如果要用PHP语言控制SQL或ACESSDE的话另当别论
热心网友
时间:2023-11-13 00:46
这个很简单呀 就是文件上传而已 你可以自己搜一下 php上传