Pagina 1 din 2
Upload in bd
Scris: Lun Iun 28, 2010
de trif
am luat scriptul php Upload de pe sitele d-voastra dar ceea ce vreau eu este urmatoarea: ca dupa ce imi pune in folderul care trebuie (asa cum face) doresc ca si in baza de date sa se puna numele pozei pt ca vreau ca sa fac inregistrari pe site in care sa scriu datele pers si cate o poza la fiecare in parte si fiecare membru sa aibe poza lui up cu acest script! sper ca ati inteles, ce trebuie schimbat si adaugat la acest script de up al vostru si sa inregistreze si in bd. multumesc, cu stima trif
Upload in bd
Scris: Lun Iun 28, 2010
de claUdiu
Eu folosesc codul de mai jos: (Acesta este scriptul de pe site, partea cu rezultatul)
Cod: Selectaţi tot
<?php
$user='xfilex'; //User MySql
$parola='xfilex'; //Parola MySql
$db='xfilex'; //Db MySqbl
$conn = mysql_connect("localhost", "$user", "$parola")
or die("Unable to connect to MySQL");
$selectdb = mysql_select_db(''.$db.'');
//Aici avem variabila trimisa din form
$poza=''. $_FILES['fisiere']['name']. '';
// Se verifica daca "magic_quotes_gpc()" nu este setat ON
// Daca nu e ON, se filtreaza variabilele cu addslashes()
if(!get_magic_quotes_gpc()) {
$fisier = addslashes($fisier);
}
// Acum se adauga mai in siguranta aceste date in MySQL
$sql = "INSERT INTO `tabela` (poza) VALUES ('$poza')"; //Modifica aici
// Se executa interogarea, daca returneaza FALSE afisaza cauza erorii, altfel, afiseaza confirmarea
if (!mysql_query($sql)) {
echo 'Eroare : '. mysql_errno(). ' - '. mysql_error();
}
else {
echo ' ';
}
$uploadpath = "d/"; //Folderul in care uploadeaza
// Aici este setata marimea maxima, in KiloBytes, care este permisa (dar marime maxima depinde si de setarile serverului)
$max_size = '9999999';
// Aici puteti schimba tipul, extensia fisierelor permise pt. upload
$allowtype = array('bmp', 'flv', 'gif', 'jpg', 'jpeg', 'mp3', 'pdf', 'png', 'rar', 'zip', 'torrent');
if(isset($_POST['submit'])) {
if (isset ($_FILES['fisiere'])) {
$uploadpath = $uploadpath . basename( $_FILES['fisiere']['name']);
$type = end(explode(".", strtolower($_FILES['fisiere']['name'])));
// Daca fisierul are extensia permisa
if (in_array($type, $allowtype)) {
// Verifica daca fisierul are marimea permisa
if ($_FILES['fisiere']['size']<=$max_size*1000) {
if(move_uploaded_file($_FILES['fisiere']['tmp_name'], $uploadpath)) {
echo "Fisierul:<b> ". basename( $_FILES['fisiere']['name']). "</b> a fost incarcat cu succes:";
echo "<br />Tipul fisieului:<b> ". $_FILES['fisiere']['type'] ."</b>";
echo "<br />Marime (<i>in Bytes</i>): <b>". $_FILES['fisiere']['size'] ."</b><br /><br />";
echo 'Link de descarcare :<br> <input type="text" name="thetext" size="60" value="www.siteul-tau.do/'.$uploadpath.'/'.$fisier.'">';
}
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['fisiere']['name']. '</b> depaseste marimea permisa de maxim <i><b>'. $max_size. 'KB</b></i>'; }
}
else { echo 'Fisierul <b>'. $_FILES['fisiere']['name']. '</b> nu are tipul de extensie permis'; }
}
}
?>
Il poti modifica sa faca ce vrei. El deja face ce ai zis tu, dar ii mai tre cateva modificari;) Daca ai probleme posteaza:)
Upload in bd
Scris: Lun Iun 28, 2010
de MarPlo
Pt. ce vrei, daca adaugi poza intr-un tabel separat pt. poze, cum e in modelul postat de "claUdiu", trebuie ca acel tabel sa aibe si o coloana cu id-ul sau numele utilizatorului, ca sa il asociezi cu poza. Acel id sau nume poate fi deja stocat intr-o sesiune, de ex.:
$_SESSION['user'] inainte de a face upload.
Iar la insert in bd poti face asa:
Cod: Selectaţi tot
$user = $_SESSION['user'];
$sql = "INSERT INTO `tabela` (user, poza) VALUES ('$user', '$poza')";
Sau poti cu UPDATE, daca ai un tabel cu utilizatorii, in care ai si coloana `poza` si face upload mai tarziu. Cam asa
Cod: Selectaţi tot
$user = $_SESSION['user'];
$sql = "UPDATE `tabela` SET `poza`='$poza' WHERE `user`='$user'";
- Trebuie adaptat la denumirile variabilelor si coloanelor din script.
Upload in bd
Scris: Mar Iun 29, 2010
de trif
am o rugaminte, daca ma puteti sa leg aceste 2 script-uri:
primul este de adugare:
Cod: Selectaţi tot
<?php
if(isset($_POST['submit']))
{
$id=$_POST['id'];
$familie=$_POST['familie'];
$tata=$_POST['tata'];
$mama=$_POST['mama'];
$membrii=$_POST['membrii'];
$detalii=$_POST['detalii'];
$poza=$_POST['poza'];
$baieti=$_POST['baieti'];
$fete=$_POST['fete'];
if(strlen($familie)<1)
{
print "Nu este nici un membru!";
}
else
{
$addemail="Insert into membrii_bisericii(id, familie, tata, mama, membrii, detalii, poza, baieti, fete) values('$id', '$familie', '$tata', '$mama', '$membrii', '$detalii', '$poza', '$baieti', '$fete')";
mysql_query($addemail) or die("NU se poate adauga!");
print "Membru adaugat! <a href='adaugare_familie.php'>Inapoi la adaugare!</a>";
}
}
else
{
print "<form action='adaugare_familie.php' method='post'>";
print "ID:<br>";
print "<input type='text' name='id' size='30'><br>";
print "Familie:<br>";
print "<input type='text' name='familie' size='30'><br>";
print "Tata:<br>";
print "<input type='text' name='tata' size='30'><br>";
print "Mama:<br>";
print "<input type='text' name='mama' size='30'><br>";
print "Membrii:<br>";
print "<input type='text' name='membrii' size='30'><br>";
print "Baieti:<br>";
print "<input type='text' name='baieti' size='30'><br>";
print "Fete:<br>";
print "<input type='text' name='fete' size='30'><br>";
print "Poza:<br>";
print "<input type='text' name='poza' size='30'><br>";
print "Detalii:<br>";
print "<textarea name='detalii' cols='45' rows='3' id='detalii'></textarea><br>";
print "<input type='submit' name='submit' value='Adauga familie'></form>";
}
?>
al doilea este up.
Cod: Selectaţi tot
<?php
$uploadpath = "imagini/";
$max_size = 2000000;
$allowtype = array('bmp', 'gif', 'jpg', 'jpeg','png');
if(isset($_POST['submit'])) {
if (isset ($_FILES['fisiere'])) {
$uploadpath = $uploadpath . basename( $_FILES['fisiere']['name']);
$type = end(explode(".", strtolower($_FILES['fisiere']['name'])));
if (in_array($type, $allowtype)) {
if ($_FILES['fisiere']['size']<=$max_size*1000) {
if(move_uploaded_file($_FILES['fisiere']['tmp_name'], $uploadpath)) {
echo "Fisierul:<b> ". basename( $_FILES['fisiere']['name']). "</b> a fost incarcat cu succes:";
echo "<br />Tipul fisieului:<b> ". $_FILES['fisiere']['type'] ."</b>";
echo "<br />Marime (<i>in Bytes</i>): <b>". $_FILES['fisiere']['size'] ."</b><br /><br />";
echo 'Link catre fisierul incarcat: <b>http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI']).'/'.$uploadpath.'</b>';
}
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['fisiere']['name']. '</b> depaseste marimea permisa de maxim <i><b>'. $max_size. 'KB</b></i>'; }
}
else { echo 'Fisierul <b>'. $_FILES['fisiere']['name']. '</b> nu are tipul de extensie permis'; }
}
}
?>
<div style="width:333px; text-align:center;">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
Upload Fisier:
<input type="file" name="fisiere" /> <br />
<input type="submit" name='submit' value="Upload" />
</form>
am tot incercat sa le imbin si sa le fac un script dar nici o sansa numai erori peste erori. multumesc, cu stima trif
Upload in bd
Scris: Mar Iun 29, 2010
de MarPlo
Incearca urmatorul cod, combinat din ce ai postat. E ne testat, vezi daca merege si mai modifici daca da vreo eroare. Nici elemente de siguranta pt. mysql si upload nu sunt facute, asta ar fi complicat codul; le face fiecare ca sa stie ce cod are si unde sa modifice in caz de nevoie.
Cod: Selectaţi tot
<?php
if(isset($_POST['submit']))
{
$uploadpath = "imagini/"; // Directorul unde incarca pozele
$id=$_POST['id'];
$familie=$_POST['familie'];
$tata=$_POST['tata'];
$mama=$_POST['mama'];
$membrii=$_POST['membrii'];
$detalii=$_POST['detalii'];
$poza=$uploadpath. basename( $_FILES['poza']['name']);
$baieti=$_POST['baieti'];
$fete=$_POST['fete'];
if(strlen($familie)<1)
{
print "Nu este nici un membru!";
}
else
{
if(move_uploaded_file($_FILES['poza']['tmp_name'], $poza)) {
echo "Fisierul:<b> ". basename( $_FILES['poza']['name']). "</b> a fost incarcat cu succes:";
}
$addemail="Insert into membrii_bisericii(id, familie, tata, mama, membrii, detalii, poza, baieti, fete) values('$id', '$familie', '$tata', '$mama', '$membrii', '$detalii', '$poza', '$baieti', '$fete')";
mysql_query($addemail) or die("NU se poate adauga!");
print "Membru adaugat! <a href='adaugare_familie.php'>Inapoi la adaugare!</a>";
}
}
else
{
print "<form action='adaugare_familie.php' method='post' enctype='multipart/form-data'>";
print "ID:<br>";
print "<input type='text' name='id' size='30'><br>";
print "Familie:<br>";
print "<input type='text' name='familie' size='30'><br>";
print "Tata:<br>";
print "<input type='text' name='tata' size='30'><br>";
print "Mama:<br>";
print "<input type='text' name='mama' size='30'><br>";
print "Membrii:<br>";
print "<input type='text' name='membrii' size='30'><br>";
print "Baieti:<br>";
print "<input type='text' name='baieti' size='30'><br>";
print "Fete:<br>";
print "<input type='text' name='fete' size='30'><br>";
print "Poza:<br>";
print "<input type='file' name='poza'><br>";
print "Detalii:<br>";
print "<textarea name='detalii' cols='45' rows='3' id='detalii'></textarea><br>";
print "<input type='submit' name='submit' value='Adauga familie'></form>";
}
?>
Upload in bd
Scris: Mar Iun 29, 2010
de trif
merge si mersi, dar este o mica problema si acesta este: dupa ce le pun in bd imi scrie
imagini/fara_poza.jpg dar mi e imi trebuie
fara_poza.jpg doar numele pentru ca in script-ul care preia imaginea am acest cod
<img src="https://marplo.net/sitefinal/imagini/'.$rand['poza'].'"> care la care ii trebuie doar numele nu si imagini/...; ce trebuie sa modific la cod ca sa mearga? si mai este ceva cum pun sa fie o marime anume ca sa nu fie 800x600 ci 450x200 ceva de genu? ms mult, cu stima trif!
Upload in bd
Scris: Mar Iun 29, 2010
de MarPlo
Sterge $uploadpath. de la $poza=
Iar unde ai
if(move_uploaded_file($_FILES['poza']['tmp_name'], $poza)) , inlocuieste cu:
f(move_uploaded_file($_FILES['poza']['tmp_name'], $uploadpath.$poza))
Despre cum sa fie o marime anume, e mai complicat, pt. dimeniuni ar putea fi folosita functia "getimagesize()" (
vezi in manual, aici http://php.net/manual/en/function.getimagesize.php , sau poti cauta pe net mai multe despre ea). Cu aceasta preiei dimensiunile pozei si apoi verifici cu "if()-uri" daca e in limitele care vrei.
Iar marimea in kilobytes o poti afla cu:
$_FILES['poza']['size']
Upload in bd
Scris: Mar Iun 29, 2010
de trif
mersi merge! cu stima trif
Upload in bd
Scris: Mie Iun 30, 2010
de trif
am facut upload si merge pe calc meu dar l-am pus pe net ceea ce am facut si imi da aceste erorii
Warning: move_uploaded_file(http://www.bisericabiruinta.ro/imagini/ ... e-0381.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in /home/biserica/public_html/adaugare_familie.php on line 380
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpXxxOH6' to 'http://www.bisericabiruinta.ro/imagini/ ... e-0381.jpg' in /home/biserica/public_html/adaugare_familie.php on line 380 ce sa fac ca nu stiu?
la linia 380 cum zice acolo este
if(move_uploaded_file($_FILES['poza']['tmp_name'], $uploadpath.$poza)) {
uite tot codul:
Cod: Selectaţi tot
<?php
if(isset($_POST['submit']))
{
$uploadpath = "http://www.bisericabiruinta.ro/imagini/familii/"; // Directorul unde incarca pozele
$id=$_POST['id'];
$familie=$_POST['familie'];
$tata=$_POST['tata'];
$mama=$_POST['mama'];
$membrii=$_POST['membrii'];
$detalii=$_POST['detalii'];
$poza=$_FILES['poza']['name'];
$baieti=$_POST['baieti'];
$fete=$_POST['fete'];
if(strlen($familie)<1)
{
print "Nu este nici un membru!";
}
else
{
if(move_uploaded_file($_FILES['poza']['tmp_name'], $uploadpath.$poza)) {
echo "Fisierul:<b> ". basename( $_FILES['poza']['name']). "</b> a fost incarcat cu succes.";
}
$addemail="Insert into membrii_bisericii(id, familie, tata, mama, membrii, detalii, poza, baieti, fete) values('$id', '$familie', '$tata', '$mama', '$membrii', '$detalii', '$poza', '$baieti', '$fete')";
mysql_query($addemail) or die("NU se poate adauga!");
print "<br>Membru adaugat! <a href='adaugare_familie.php'>Inapoi la adaugare!</a>";
}
}
else
{
print "<form action='adaugare_familie.php' method='post' enctype='multipart/form-data'>";
print "ID:<br>";
print "<input type='text' name='id' size='30'><br>";
print "Familie:<br>";
print "<input type='text' name='familie' size='30'><br>";
print "Tata:<br>";
print "<input type='text' name='tata' size='30'><br>";
print "Mama:<br>";
print "<input type='text' name='mama' size='30'><br>";
print "Membrii:<br>";
print "<input type='text' name='membrii' size='30'><br>";
print "Baieti:<br>";
print "<input type='text' name='baieti' size='30'><br>";
print "Fete:<br>";
print "<input type='text' name='fete' size='30'><br>";
print "Poza:<br>";
print "<input type='file' name='poza'><br>";
print "Detalii:<br>";
print "<textarea name='detalii' cols='45' rows='3' id='detalii'></textarea><br>";
print "<input type='submit' name='submit' value='Adauga familie'></form>";
}
?>
cu stima trif.
Upload in bd
Scris: Mie Iun 30, 2010
de MarPlo
Sa folosesti cale relativa spre directorul de upload, raportat la unde e scriptul (ex. 'imagini/'), si nu calea absoluta cu "http://...adrresa_url".
Iar acel director sa aibe permisiuni CHMOD 0777, de scriere in el.
Upload in bd
Scris: Mie Iun 30, 2010
de trif
si cum ii dau la directorele "imagini/famili/" acele permisiuni CHMOD 0777? cu stima trif
Upload in bd
Scris: Mie Iun 30, 2010
de MarPlo
Din programul de FTP prin care pui fisierele pe server, dai click dreapta pe acel director de pe server si alegi "Properties" (sau ce denumire o avea pt. proprietati), apoi bifezi casutele cu permisiuni din fereastra care apare. Vezi ce e legat de CHMOD. Sau daca e vreo casuta cu un numar gen 0755 sau altul, il scrii 0777.