1)Conditie ca poza sa nu fie mai mica de 500 x 600.
2)Redimensionare poza daca e mai mare de 500x600 sa o faca de 500x600. REDIMENSIONARE NU DECUPARE !!!
3)Cand cauta poza in calculator, sa afiseze doar pozele jpg, pentru ca doar acest tip de fisier accept
4)La succes de upload poza sa se insereze in baza de date numele pozei!
Cod: Selectaţi tot
<hr>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
#uploadframe { display:none; }
</style>
</head>
<body>
<form id="uploadform" action="/upload-poza-profil.php" method="post" enctype="multipart/form-data" target="uploadframe" onsubmit="uploadimg(this); return false">
<input type="file" id="myfile" name="myfile">
<input type="submit" value="Salveaza poza" />
<iframe id="uploadframe" name="uploadframe" src="/upload-poza-profil.php" width="8" height="8" scrolling="no" frameborder="0"></iframe>
</form>
<div id="showimg"> </div>
</body>
</html>
<hr>
<script type="text/javascript"><!--
function uploadimg(theform){
theform.submit();
setStatus("<br><img src=/imagini/stare-loading.gif> <font color=orange>Te rugam asteapta pana cand se incarca poza, poate dura pana la 1 - 2 minute maxim 5 minute in functie de viteza ta la internet!</font>", "showimg");
return false;
}
function doneloading(rezultat) {
rezultat = decodeURIComponent(rezultat.replace(/\+/g, " "));
document.getElementById('showimg').innerHTML = rezultat;
}
function setStatus(theStatus, theloc) {
var tag = document.getElementById(theloc);
if (tag) {
tag.innerHTML = '<b>'+ theStatus + "</b>";
}
}
--></script>
iar fisierul upload-poza-profil.php
Cod: Selectaţi tot
<?php session_start(); include('../conectare.php');
if(isset($_SESSION['nume']))
{
$savefolder = 'poza-profil';
$max_size = 99999;
$allowtype = array('jpg', 'jpeg');
$rezultat = '';
// Daca este primit din formular un fisier valid
if(isset($_FILES['myfile']))
{ // daca nu e selectat nici un fisier sa dea eroare
if($_FILES['myfile']['name'] == '')
{ $rezultat = '<img src=/imagini/stare-error.png> <font color=red>Alege o poza!</font>'; }
// daca e selectat fisieru, spor la incarcat
else if(strlen($_FILES['myfile']['name']) > 2)
{
if (isset($_FILES['myfile'])) {
// Verifica daca fisierul are tipul de extensie permis
$type = end(explode(".", strtolower($_FILES['myfile']['name'])));
if (in_array($type, $allowtype)) {
// Verifica daca fisierul are marimea permisa
if ($_FILES['myfile']['size']<=$max_size*1000) {
// Daca nu sunt erori in procesul de copiere
if ($_FILES['myfile']['error'] == 0) {
// Seteaza locatia si numele pt. incarcare pe server
$id = $_SESSION['id'];
$folder = 'poza-profil/';
$thefile = $folder . $id. '.'. $type;
// Daca fisierul nu poate fi incarcat, returneaza mesaj
if (!move_uploaded_file ($_FILES['myfile']['tmp_name'], $thefile)) {
$rezultat = '<img src=/imagini/stare-error.png>
Sa intamplat ceva, nu stiu ce este, revin-o peste cateva minute pentru a
schimba poza de profil! Daca problema persista contacteaza-ne!';
}
else {
// Returneaza succes
$rezultat = '<img src="/imagini/stare-succes.png">
<font color=green>Poza ta de profil a fost incarcata cu succes, in cateva
minute va aparea pe site, daca nu apare in maxim 5 minute, contacteaza-ne!
</font>';
}
}
}
}
else { $rezultat = '
<br><font color=red> <img src=/imagini/stare-error.png>
Fisierul <font color=blue>'. $_FILES['myfile']['name']. '</font>
nu are tipul de extensie permis, se accepta doar format .jpg</font>'; }
}
}
}
}
// daca e delogat sa dea eroare //
else
{
$rezultat = '<img src=/imagini/stare-error.png> <font color=red>Pentru a schimba poza de profil trebuie sa fi logat pe site</font>';
}
// Codeaza cu 'urlencode()' variabila $rezultat si o returneaza in 'onload', intr-un tag BODY
$rezultat = urlencode($rezultat);
echo '<body onload="parent.doneloading(\''.$rezultat.'\')"></body>';
?>