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>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

Salin dan tampal di MySQL termasuk langkah -langkah berikut: Pilih data, salin dengan Ctrl C (Windows) atau Cmd C (Mac); Klik kanan di lokasi sasaran, pilih Paste atau gunakan Ctrl V (Windows) atau CMD V (MAC); Data yang disalin dimasukkan ke dalam lokasi sasaran, atau menggantikan data sedia ada (bergantung kepada sama ada data sudah ada di lokasi sasaran).

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).
