1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| if(!$UpAbci_blob_slice) // s'il est d'un seul morceau
{
if(@move_uploaded_file($_FILES['UpAbci_fragment']['tmp_name'], $destination_fichier))
{
Redimensionner($UpAbci_fichier_nom_final,'1000', '1000');
exit(json_encode(array('resultat' => 'upload_ok')));// ne pas modifier -> commande ajax
// Si OK on redimentionne 1000x1000 max.
}
else
exit(json_encode(array('erreur' => 'Erreur de transfert du fichier téléchargé.')));
}
else
{
// On ouvre ou on crée le fichier
$fichier_cible = @fopen($temp_adresse, 'a+');
if($fichier_cible === false) exit(json_encode(array('erreur' => 'Erreur d\'ouverture du fichier temporaire.')));
// On ouvre le contenu téléchargé
$upload_file = @fopen($_FILES['UpAbci_fragment']['tmp_name'], 'rb');
if($upload_file === false) exit(json_encode(array('erreur' => 'Erreur d\'ouverture du contenu téléchargé.')));
// On lit son contenu dans une variable
$upload_size = $_FILES['UpAbci_fragment']['size'];
$upload_content = @fread($upload_file, $upload_size);
if($upload_content === false) exit(json_encode(array('erreur' => 'Erreur de lecture du contenu téléchargé.')));
fclose($upload_file);
// On l'écrit dans le fichier temporaire
if(@fwrite($fichier_cible, $upload_content) === false) exit(json_encode(array('erreur' => 'Erreur d\'écriture du contenu téléchargé.')));
unset($upload_content);
fclose($fichier_cible);
$new_file_size = $cook_save_size + $upload_size;
setcookie($cookie_name,rawurlencode($temp_adresse.'|'.$new_file_size),$time_cook_save,$path_cook_save);
if (!$UpAbci_fichier_fin) exit(json_encode(array('resultat' => 'continu')));// ne pas modifier -> commande ajax
}
if ($UpAbci_fichier_fin && $UpAbci_blob_slice)
{
// vérification de l'intégrité du fichier
if ($verif_filesize_sup2Go_Ok || $UpAbci_fichier_size < 2147483648)
{
$size_upload = @filesize($temp_adresse);
if($size_upload != $UpAbci_fichier_size)
{
setcookie($cookie_name,"",time()-3600,$path_cook_save);
exit(json_encode(array('erreur' => 'Erreurs possibles : la sauvegarde utilisée a été enregistrée lors d\'un instant critique, ou vous avez téléchargé simultanément deux fichiers identiques.')));
}
}
if(@rename($temp_adresse,$destination_fichier))
{
setcookie($cookie_name,"",time()-3600,$path_cook_save);
// Si OK on redimensionne 1000x1000 max.
Redimensionner($UpAbci_fichier_nom_final,1000, 1000);
exit(json_encode(array('resultat' => 'upload_ok')));// ne pas modifier -> commande ajax
} |
Partager