Am un script de upload care are progres bar ok functional ... dar la fisiere peste cativa MB imi da eroare ... zice asa :
"move_uploaded_file function failed "
cam asa
upload.php
Cod: Selectaţi tot
<?php session_start(); include('../conectare.php');
if(isset($_SESSION['nume']))
{
$rezultat = '';
$nume = 'test nume';
$denumire = $_POST['denumire'];
$descriere = 'test descriere';
$adresa = 'test adresa';
$data = time();
// 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']) !== 0)
{
if (isset($_FILES['myfile'])) {
// Verifica daca fisierul are tipul de extensie permis
$type = end(explode(".", strtolower($_FILES['myfile']['name'])));
// Daca nu sunt erori in procesul de copiere
if ($_FILES['myfile']['error'] == 0) {
// Seteaza locatia si numele pt. incarcare pe server
$id = 'test123';
$thefile = 'soft/'.$_FILES['myfile']['name'].'';
// 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
$addintrebari = $dbh->exec("INSERT INTO `programe` (`nume`, `denumire`, `descriere`, `adresa`, `data`) VALUE ('$nume', '$denumire', '$descriere', '$adresa', '$data')");
if ($addintrebari !== false)
{$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 = 'ERoare adaugare in baza de date'; }
}
}
}
}
}
}
// 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>';
?>
Cod: Selectaţi tot
<script src="../jquery.js"></script>
<script src="../jquery.form.js"></script>
<link rel="stylesheet" type="text/css" href="../css.css" />
<style type="text/css">
#uploadframe { display:none; }
</style>
<form id="uploadform" action="../Zprograme/upload.php" method="post" enctype="multipart/form-data" target="uploadframe" onsubmit="uploadimg(this); return false">
<input type="text" id="denumire" name="denumire">
<input type="file" id="myfile" name="myfile">
<input type="submit" value="Salveaza poza" />
<iframe id="uploadframe" name="uploadframe" src="../Zprograme/upload.php" width="8" height="8" scrolling="no" frameborder="0"></iframe>
</form>
<div id="showimg"> </div>
<div class="progress" style="color:red;">
<div class="bar" style="color:yellow;"></div >
<div class="percent" style="color:green;"></div >
</div>
<div id="status" style="color:blue;"></div>
<script type="text/javascript"><!--
function uploadimg(theform){
var denumire = $('#denumire').val();
var file = $('#myfile').val();
if(denumire.length < 5 || denumire.length > 50)
{ $('#showimg').html('<font color="red"><img class="error" src="/imagini/stare-error.png"> Denumirea programului trebuie sa contina minim 5 caractere si maxim 50</font>'); }
else if(file.length == 0)
{ $('#showimg').html('<font color="red">Selecteaza un fisier</font>'); }
else {
theform.submit();
setStatus("<br>Loading...", "showimg");
// progres bar //
// end progres bar //
}
}
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>