modificare functie upload

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje:500

modificare functie upload

salut,
am codul de upload

Cod: Selectaţi tot

<?php
       if(isset($_POST['submit']))
       {
       $uploadpath = "../cantari/cantari_ppt/";        // Directorul unde incarca ppt
        $id=$_POST['id'];
        $denumire=$_POST['denumire'];
        $data=$_POST['data'];
        $descarca=$uploadpath. basename( $_FILES['descarca']['name']);
         if(strlen($denumire)<1)
         {
           print "Nu este nici o cantare!";
         }
         else
         {
       if(move_uploaded_file($_FILES['descarca']['tmp_name'], $descarca))  {
              echo "Cantarea:<b> ". basename( $_FILES['descarca']['name']). "</b> a fost incarcat cu succes.";
        }
        
           $addemail="Insert into cantari_ppt(denumire, data, descarca) values('$denumire', '$data', '$descarca')";
           mysql_query($addemail) or die("NU se poate adauga!");
           print "<br>Cantarea adaugata!  <a href='adaugare.php'>Inapoi la adaugare!</a>";
         }
       }   
       else
       {
          print "<form action='adaugare.php' method='post' enctype='multipart/form-data'>";
         print "Denumire:<br>";
          print "<input type='text' name='denumire' ><br>";
         print "Data adaugarii:<br>";
          print '<input type="text" name="data"  id="data"><br>';
		   print "Categoria:<br>";
          print "<input type='text' readonly= 'true' name='categoria' value='Cantari diverse' ><br>";
         print "Cantare:<br>";
          print "<input type='file' name='descarca'><br>";
          print "<input type='submit' name='submit' value='Adauga cantare'></form>";
       }
    ?>
si vreau ca in

Cod: Selectaţi tot

print "Denumire:<br>";
          print "<input type='text' name='denumire' ><br>";
sa nu mai in scriu eu numele de fiecare data la fisier ci sa mi-l ia automat. si cum era functia aceea pentru filtru ca sa nu te lase sa up orice decat ce ii dai u? nu stiu cum sa fac si nu mai stiu care este secventa de cod. 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

MarPlo Mesaje:4343
Numele, fara extensie se poate prelua asa:

Cod: Selectaţi tot

$est = '.'. end(explode(".", $_FILES['descarca']['name']));
$nume = str_replace($est, '', $_FILES['descarca']['name']);

trif Mesaje:500
si cum se mai face si filtrul respectiv? ca sa adaug numai ppt. 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

nikuu2 Mesaje:22
Salut!

Cod: Selectaţi tot

<?php
$est = end(explode(".",strtolower($_FILES['descarca']['name'])));
if ($est!="ppt") {
//cod pentru extensie gresita
}
else {
// cod pentru extensie corecta
}
?>

trif Mesaje:500
salut, am incercat sa pun cum ai zis u adica ca atunci cand up sa imi apara numele fisierului fara sa trebuiasca sa il scriu eu, si nu merge, aici este codul si am facut asa:

Cod: Selectaţi tot

 if(isset($_POST['submit']))
       {
       $uploadpath = "../cantari/diverse/";        // Directorul unde incarca pozele
        $id=$_POST['id'];
        $denumire=$_POST['denumire'];
        $data=$_POST['data'];
		$categoria=$_POST['categoria'];
        $est = '.'. end(explode(".", $_FILES['descarca']['name']));
        $nume = str_replace($test, '', $_FILES['descarca']['name']);
        $descarca=$uploadpath. basename( $_FILES['descarca']['name']);
         if(strlen($denumire)<1)
         {
           print "Nu este nici o cantare!";
         }
         else
         {
       if(move_uploaded_file($_FILES['descarca']['tmp_name'], $descarca))  {
              echo "Cantarea:<b> ". basename( $_FILES['descarca']['name']). "</b> a fost incarcat cu succes.";
        }
        
           $addemail="Insert into cantari_ppt(denumire, data, descarca, categoria) values('$denumire', '$data', '$descarca', '$categoria')";
           mysql_query($addemail) or die("NU se poate adauga!");
           print "<br>Cantarea adaugata!  <a href='adaugare.php'>Inapoi la adaugare!</a>";
         }
       }   
       else
       {
          print "<form action='adaugare.php' method='post' enctype='multipart/form-data'>";
         print "Denumire:<br>";
          print "<input type='text' value = '$nume' name='denumire' ><br>";
         print "Data adaugarii:<br>";
          print '<input type="text" name="data"  id="data"><br>';
		   print "Categoria:<br>";
          print "<input type='text' readonly= 'true' name='categoria' value='Cantari diverse' ><br>";
         print "Cantare:<br>";
          print "<input type='file' name='descarca'><br>";
          print "<input type='submit' name='submit' value='Adauga cantare'></form>";
       }
    ?>
, nu stiu de ce, cu te uiti te rog sa vezi ce este. multumesc mult de tot, 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

MarPlo Mesaje:4343
La str_replace($test, '', $_FILES['descarca']['name']); in loc de $test trebuie $est. Gresala mea.

trif Mesaje:500
salut, nu merge, nu stiu de ce, am pus asa cum ai zis

Cod: Selectaţi tot

$est = '.'. end(explode(".", $_FILES['descarca']['name']));
$nume = str_replace($est, '', $_FILES['descarca']['name']);
si am mai facut si

Cod: Selectaţi tot

 print "Denumire:<br>";
          print "<input type='text' value='$nume' name='denumire' ><br>";
si nu merge adica cand selectez un ppt nu imi pune automat in casuta denumire numele automat. si nu stiu cum sa fac. vreau ca sa sa fie ca si la subtitrari.regielive.ro atunci cand se adauga o subtitrare. 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

MarPlo Mesaje:4343
Daca ceea ce vrei e ca numele sa fie adaugat in alta casuta, cand e selectat fisierul, inainte de a face upload, atunci nu tine de php, ci trebuie ceva JavaScript. E mai complicat daca nu stii JavaScript.
Scriptul php preia numele doar dupa ce fisierul e trimis..

trif Mesaje:500
salut, multumesc pt raspuns, si sti ceva exemplu pe net sau ceva script ca dupaia sa pot sa il dezvolt. 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

MarPlo Mesaje:4343
Poate iti e de folos tutorialul Verificare tip fisier pentru upload

trif Mesaje:500
salut, multumesc de raspuns, este foarte bun scriptul dar am si eu o mica intrebare, unde pot sa modific la cod ca in loc de rezultatul C:\fakepath\Image1 sa imi apara doar Image1? unde trebuie sa modific codul. multumesc, 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

MarPlo Mesaje:4343
Trebuie sa modifici in functia "checkName()"
"ar_name[0]" contine acea valoare.
Dupa var ar_name = name.split('.'); trebuie folosit urmatorul cod:

Cod: Selectaţi tot

//...
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;
// ...

Subiecte similare