modificare functie upload
-
- Mesaje:500
modificare functie upload
multumesc mult de tot. merge foarte bine. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
trif
Mesaje:500
salut, am combinat un 2 scripturi si imi merge in mare parte dar am ceva mici nemultumiri. aici este codul pe care l-am modificat:
si problema este urmatoarea:
1. atunci cand inserez nu imi insereaza cum trebuie, imi insereaza valoarea lui adica ../cantari/diverse/ si mie imi trebuie ../cantari/diverse/cantare.ppt, intrebarea este, cum combin ca sa imi dea ../cantari/diverse/cantare.ppt.
2. te uiti sa vezi daca este combinat ok ca a fost faza cand fisierul a fost copiat in folder dar in bd nu a fost adaugat.
3. dupa ce uplodez un fisier imi pune in bd si in folder dar daca ii dau reflesh mi-l mai adauga o data si tot asa imi adauga de cate ori dau reflesh, cum sa fac ca sa nu mai mi-l adauge ci sa imi zica ca trebuie sa aleg un fisier ca sa pot adauga, dar sa nu fie cu cod de acela de securitate.
cam atat pt moment. multumesc anticipat, cu stima trif
Cod: Selectaţi tot
<?php
if(isset($_POST['submit']))
{
$upload = "../cantari/diverse/"; // Directorul unde incarca fisierele
$denumire=$_POST['denumire'];
$data=$_POST['data'];
$data = date("d-m-Y");
$categoria='diverse';
$descarca=$uploadpath. basename( $_FILES['urlf']['name']);
// Aici este setata marimea maxima, in KiloBytes, care este permisa (dar marime maxima depinde si de setarile serverului)
$max_size = 500;
// Aici puteti schimba tipul, extensia fisierelor permise pt. upload
$allowtype = array('ppt', 'pps');
if(isset($_POST['submit'])) {
if (isset ($_FILES['fup'])) {
$uploadpath = $uploadpath . basename( $_FILES['fup']['name']);
$type = end(explode(".", strtolower($_FILES['fup']['name'])));
// Daca fisierul are extensia permisa
if (in_array($type, $allowtype)) {
// Verifica daca fisierul are marimea permisa
if ($_FILES['fup']['size']<=$max_size*1000) {
if(move_uploaded_file($_FILES['fup']['tmp_name'], $uploadpath)) {
echo "Fisierul:<b> ". basename( $_FILES['fup']['name']). "</b> a fost incarcat cu succes:";
$addemail="Insert into cantari_ppt(denumire, data, categoria, urlf) values('$denumire', '$data', '$categoria','$uploadpath')";
mysql_query($addemail) or die("NU se poate adauga!");
print "<br>Cantarea adaugata! <a href='adaugare.php'>Inapoi la adaugare!</a>";
}
else {
echo "<b>A aparut o eroare la urcarea fisierului pe server, <br /> posibil ca marimea fisierului sa depaseasca permisiunile setate de server.</b>";
}
}
else { echo 'Fisierul <b>'. $_FILES['fup']['name']. '</b> depaseste marimea permisa de maxim <i><b>'. $max_size. 'KB</b></i>'; }
}
else { echo 'Fisierul <b>'. $_FILES['fup']['name']. '</b> nu are tipul de extensie permis'; }
}
}
}
?>
1. atunci cand inserez nu imi insereaza cum trebuie, imi insereaza valoarea lui
Cod: Selectaţi tot
$upload = "../cantari/diverse/";
2. te uiti sa vezi daca este combinat ok ca a fost faza cand fisierul a fost copiat in folder dar in bd nu a fost adaugat.
3. dupa ce uplodez un fisier imi pune in bd si in folder dar daca ii dau reflesh mi-l mai adauga o data si tot asa imi adauga de cate ori dau reflesh, cum sa fac ca sa nu mai mi-l adauge ci sa imi zica ca trebuie sa aleg un fisier ca sa pot adauga, dar sa nu fie cu cod de acela de securitate.
cam atat pt moment. multumesc anticipat, cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
1. Nu imi dau seama de ce insereaza valoarea lui $upload, fiindca la query-ul pt. insert e setat sa adauge $uploadpath
2. Ca sa nu adauge iar la refresh, se poate astfel:
- Inainte de a face Upload, verifici o sesiune care sa contina numele fisierului incarcat, daca acesta e deja in sesiune, afisezi mesajul, altfel, efectueaza instructiunile pentru upload si insert, iar dupa Insert se adauga in acea sesiune numele fisierului.
2. Ca sa nu adauge iar la refresh, se poate astfel:
- Inainte de a face Upload, verifici o sesiune care sa contina numele fisierului incarcat, daca acesta e deja in sesiune, afisezi mesajul, altfel, efectueaza instructiunile pentru upload si insert, iar dupa Insert se adauga in acea sesiune numele fisierului.
trif
Mesaje:500
am facut cum ai zis dar tot nu merge. uite asa: cu stima trif
Cod: Selectaţi tot
if(isset($_POST['submit']))
{
if(isset($_SESSION['denumire'])){
echo 'introducere dubla';}
else {
$upload = "../cantari/diverse/"; // Directorul unde incarca fisierele
$denumire=$_POST['denumire'];
$data=$_POST['data'];
$data = date("d-m-Y");
$categoria='diverse';
$descarca=$uploadpath. basename( $_FILES['urlf']['name']);
// Aici este setata marimea maxima, in KiloBytes, care este permisa (dar marime maxima depinde si de setarile serverului)
$max_size = 500;
// Aici puteti schimba tipul, extensia fisierelor permise pt. upload
$allowtype = array('ppt', 'pps');
if(isset($_POST['submit'])) {
if (isset ($_FILES['fup'])) {
$uploadpath = $uploadpath . basename( $_FILES['fup']['name']);
$type = end(explode(".", strtolower($_FILES['fup']['name'])));
// Daca fisierul are extensia permisa
if (in_array($type, $allowtype)) {
// Verifica daca fisierul are marimea permisa
if ($_FILES['fup']['size']<=$max_size*1000) {
if(move_uploaded_file($_FILES['fup']['tmp_name'], $uploadpath)) {
echo "Fisierul:<b> ". basename( $_FILES['fup']['name']). "</b> a fost incarcat cu succes:";
$addemail="Insert into cantari_ppt(denumire, data, categoria, urlf) values('$denumire', '$data', '$categoria','$uploadpath')";
mysql_query($addemail) or die("NU se poate adauga!");
print "<br>Cantarea adaugata! <a href='adaugare.php'>Inapoi la adaugare!</a>";
}
else {
echo "<b>A aparut o eroare la urcarea fisierului pe server, <br /> posibil ca marimea fisierului sa depaseasca permisiunile setate de server.</b>";
}
}
else { echo 'Fisierul <b>'. $_FILES['fup']['name']. '</b> depaseste marimea permisa de maxim <i><b>'. $max_size. 'KB</b></i>'; }
}
else { echo 'Fisierul <b>'. $_FILES['fup']['name']. '</b> nu are tipul de extensie permis'; }
}
}
}
}
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
Incearca, dupa ce definesti $uploadpath = ...;
if(isset($_SESSION['uploadpath']) && $_SESSION['uploadpath']==$uploadpath) { echo 'Refresh'; }
else { ... }
- in cadru lui "else" trebuie adaugat liniile de cod pt. efectuare upload si insert.
Iar dupa linia de Insert in mysql, adaugi:
$_SESSION['uploadpath']=$uploadpath;
asta face True conditia "if()" de mai sus cand se da refresh.
- Daca nu intelegi cum se face asta, incearca sa gasesti o solutie proprie, care sa stii tu cum actioneaza.
if(isset($_SESSION['uploadpath']) && $_SESSION['uploadpath']==$uploadpath) { echo 'Refresh'; }
else { ... }
- in cadru lui "else" trebuie adaugat liniile de cod pt. efectuare upload si insert.
Iar dupa linia de Insert in mysql, adaugi:
$_SESSION['uploadpath']=$uploadpath;
asta face True conditia "if()" de mai sus cand se da refresh.
- Daca nu intelegi cum se face asta, incearca sa gasesti o solutie proprie, care sa stii tu cum actioneaza.
trif
Mesaje:500
salut, dupa o mica perioada am revenit iara la acest script de upload care tot nu reusesc sa il fac, aici este form-ul
aici este javascript-ul prin care se ia numele fisierului
si aici este codul php pentru upload
problema este ca imi zice ca nu adauga. eu am bd asa:
nu stiu cum sa fac ca sa imi dea asa
am tot incercat dar tot nu vrea sa mearga nu stiu de ce? cu stima trif
Cod: Selectaţi tot
<form action="adaugare.php" method="post" id="idf" enctype="multipart/form-data">
Upload file: <input type="file" name="fup" onchange="checkName(this, 'fname', 'submit')" /><br />
Denumire fisier: <input type="text" value="" name="denumire" id="fname" /><br />
<input type="submit" name="submit" id="submit" value="Submit" disabled="disabled" />
</form>
Cod: Selectaţi tot
<script type="text/javascript"><!--
var ar_ext = ['ppt']; // array cu extensiile permise
function checkName(el, to, sbm) {
// - marplo.net
// preia numele fisierului si separa nume si extensia
var name = el.value;
var ar_name = name.split('.');
// pt. IE - separa directoarele (\) de nume
var ar_nm = ar_name[0].split('\\');
for(var i=0; i<ar_nm.length; i++) var nm = ar_nm[i];
// adauga numele in 'to'
document.getElementById(to).value = nm;
// verifica extensia
var re = 0;
for(var i=0; i<ar_ext.length; i++) {
if(ar_ext[i] == ar_name[1]) {
re = 1;
break;
}
}
// daca re are valoarea 1, extensia este in list permisa
if(re==1) {
// activeaza submit
document.getElementById(sbm).disabled = false;
}
else {
// sterge numele fisierului, dezactiveaza Submit, afiseaza Alert
el.value = '';
document.getElementById(sbm).disabled = true;
alert('".'+ ar_name[1]+ '" nu este un tip de fisier permis');
}
}
--></script>
Cod: Selectaţi tot
<?php
$uploadpath = "../cantari/colinde/";
$denumire=$_POST['denumire'];
$data=$_POST['data'];
$data = date("d-m-Y");
$categoria='diverse';
$allowtype = array('ppt');
if(isset($_POST['submit'])) {
if (isset ($_FILES['fup'])) {
$urlf=$uploadpath. basename( $_FILES['descarca']['name']);
$type = end(explode(".", strtolower($_FILES['fup']['name'])));
// Daca fisierul are extensia permisa
if (in_array($type, $allowtype)) {
if(strlen($denumire)<1)
{
print "Nu este nici o cantare!";
}
else
{
if(move_uploaded_file($_FILES['descarca']['tmp_name'], $urlf)) {
echo "Cantarea:<b> ". basename( $_FILES['descarca']['name']). "</b> a fost incarcat cu succes.";
}
$addemail="Insert into cantari_ppt(denumire, data, urlf, categoria) values('$denumire', '$data', '$urlf', '$categoria')";
mysql_query($addemail) or die("NU se poate adauga!");
print "<br>Cantarea adaugata! <a href='adaugare_carte_rosie.php'>Inapoi la adaugare!</a>";
}
}
}
else { echo 'Fisierul <b>'. $_FILES['fup']['name']. '</b> nu are tipul de extensie permis'; }}
?>
Cod: Selectaţi tot
id -- denumire -- data -- urlf -- categorie
nu stiu cum sa fac ca sa imi dea asa
Cod: Selectaţi tot
1 -- Intr-un sat ne-nsemnat din Iudea -- 30-07-2010 -- ../cantari/colinde/Intr-un sat ne-nsemnat din Iudea -- colinde
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
Incearca comanda SQL asa:
Ori "categorie", ori "categoria", tu stii.
Mai departe, nu am stat sa studiez fisierele, legatura dintre ele, etc.
Cod: Selectaţi tot
"INSERT INTO `cantari_ppt` (denumire, data, urlf, categorie) VALUES ('$denumire', '$data', '$urlf', '$categoria')";
Mai departe, nu am stat sa studiez fisierele, legatura dintre ele, etc.
trif
Mesaje:500
salut, am reusit singur sa fac, uite asa:
cu stima trif
Cod: Selectaţi tot
<?php
if(isset($_POST['submit'])) {
$uploadpath = "../cantari/diverse/";
$denumire=$_POST['denumire'];
$data=$_POST['data'];
$data = date("d-m-Y");
$categoria='diverse';
$allowtype = array('ppt');
$urlf=$uploadpath. basename( $_FILES['urlf']['name']);
if(strlen($denumire)<1)
{
print "Nu este nici o cantare!";
}
else
{
if(move_uploaded_file($_FILES['urlf']['tmp_name'], $urlf)) {
echo "Cantarea:<b> ". basename( $_FILES['urlf']['name']). "</b> a fost incarcat cu succes.";
}
$addemail="Insert into cantari_ppt(denumire, data, urlf, categoria) values('$denumire', '$data', '$urlf', '$categoria')";
mysql_query($addemail) or die("NU se poate adauga!");
print "<br>Cantarea adaugata! <a href='adaugare_carte_rosie.php'>Inapoi la adaugare!</a>";
}
}
?>
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
Subiecte similare
- Formular de contact cu upload imagini
Scripturi de pe site Primul mesaj
Salutare si la multi ani!Ultimul mesaj
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script. - Modificare cod Animated musical notes
HTML - XHTML - CSS Primul mesaj
Fiindca astazi suntem in 31 decembrie 2020, va doresc un sincer La multi ani si toate cele bune in 2021. :)Ultimul mesaj
Sincer sa fiu, am imprumutat un cod de...
Multumesc pentru raspuns si pentru solutia de cod.