php实现文件下传到指定文件夹,文件路径或名字存入数据库,怎么实现
php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊
有高手吗?帮个忙吧。
------解决方案--------------------
- HTML code
------解决方案--------------------
补全数据库操作:
- PHP code
<?phpif (is_uploaded_file($_FILES['img']['tmp_name'])){ if(move_uploaded_file($_FILES['img']['tmp_name'], $target_name)){ //这就算上传成功了,插入数据库 if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Could not connect to mysql'; exit; } if (!mysql_select_db('mysql_dbname', $link)) { echo 'Could not select database'; exit; } $sql = 'insert into table_name(id, img_path) values(img_id, $target_name)'; $result = mysql_query($sql, $link); if (!$result) { echo "DB Error, could not create table the database\n"; echo 'MySQL Error: ' . mysql_error(); exit; } mysql_free_result($result); } else{ echo "上传失败"; }}?><br><font color="#e78608">------解决方案--------------------</font><br>我也来个<br>
- PHP code
define(UPLOAD_ROOT,'你的上传文件夹路径');function fake_random_name($string,$key){ #伪代码 随便根据用户名和上传时间生成一个伪随机的文件名作为上传以后的用户名 #但解码的条件是可以根据文件名判断出文件所有者的用户名和上传时间 #需要从数据库取出用户的密匙 才能进行解密 密匙是用户名的前5个字符 #具体加密解密的代码实现 请参照PHP标准扩展库 Mcrypt扩展下的N种方法 return $fake_random_name;}if(!is_writbale(UPLOAD_ROOT)){ die('you need chown the dir for your uploading file,make it writable~');}else{ move_uploaded_file($_FILES['POST过来的表单名']['tmp_name']; /* * 这个方法会自动调用is_upload_file()方法 检测是否是合法的http rfc1867协议上传的文件 * 当然了 你也可以限制是否是你需要的合法文件类型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以 */ $dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include进来 DSN放到根目录以外去 保护连接文件 $sec_key = substr($_SESSION['loginname'],0,5); #密匙 $file_name = fake_random_name($_FILES['POST过来的表单名']['tmp_name'],$sec_key); #加密后的名字 $q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL $dbh->query($q_str); if($dbh->num_rows()==1) echo "上传成功,已经插入数据库文件细节(加密)";}<br><font color="#e78608">------解决方案--------------------</font><br>设置好文件保存的路径,把上次的文件通过move_uploaded_file这个函数上传,再命名上传的文件名插入到数据库<br><font color="#e78608">------解决方案--------------------</font><br>学习并接分<div class="clear"> </div>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

Navicat本身不存储数据库密码,只能找回加密后的密码。解决办法:1. 检查密码管理器;2. 检查Navicat的“记住密码”功能;3. 重置数据库密码;4. 联系数据库管理员。

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

在 MySQL 中复制表需要创建新表、插入数据、设置外键、复制索引、触发器、存储过程和函数。具体步骤包括:创建具有相同结构的新表。将数据从原始表插入新表。设置相同的外键约束(如果原始表有)。创建相同索引。创建相同触发器(如果原始表有)。创建相同存储过程或函数(如果原始表使用了)。

Navicat for MariaDB 无法直接查看数据库密码,因为密码以加密形式存储。为确保数据库安全,有三个方法可重置密码:通过 Navicat 重置密码,设置复杂密码。查看配置文件(不推荐,风险高)。使用系统命令行工具(不推荐,需要对命令行工具精通)。

通过以下命令查看 MySQL 数据库:连接到服务器:mysql -u 用户名 -p 密码运行 SHOW DATABASES; 命令获取所有现有数据库选择数据库:USE 数据库名;查看表:SHOW TABLES;查看表结构:DESCRIBE 表名;查看数据:SELECT * FROM 表名;

MySQL 中的复制粘贴包含以下步骤:选择数据,使用 Ctrl C(Windows)或 Cmd C(Mac)复制;在目标位置右键单击,选择“粘贴”或使用 Ctrl V(Windows)或 Cmd V(Mac);复制的数据将插入到目标位置,或替换现有数据(取决于目标位置是否已存在数据)。

在 Navicat 中执行 SQL 的步骤:连接到数据库。创建 SQL 编辑器窗口。编写 SQL 查询或脚本。单击“运行”按钮执行查询或脚本。查看结果(如果执行查询的话)。
