本文整理汇总了PHP中Clean::fichier方法的典型用法代码示例。如果您正苦于以下问题:PHP Clean::fichier方法的具体用法?PHP Clean::fichier怎么用?PHP Clean::fichier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Clean
的用法示例。
在下文中一共展示了Clean::fichier方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exit
$export_csv .= ($with_note) ? $separateur."\r\n" : "\r\n" ;
}
$export_csv .= "\r\n"; // une valeur NULL donnera une chaine vide
}
$fnom_export = 'saisie_deportee_'.$_SESSION['BASE'].'_'.$_SESSION['USER_ID'].'_'.Clean::fichier($BILAN_TYPE).'_'.Clean::fichier($periode_nom).'_'.Clean::fichier($groupe_nom).'_'.$BILAN_ETAT.'_'.fabriquer_fin_nom_fichier__date_et_alea().'.csv';
FileSystem::ecrire_fichier( CHEMIN_DOSSIER_EXPORT.$fnom_export , To::csv($export_csv) );
exit($fnom_export);
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Cas 2 : réception d'un import csv (saisie déportée)
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if($ACTION=='uploader_saisie_csv')
{
$fichier_nom = 'saisie_deportee_'.$_SESSION['BASE'].'_'.$_SESSION['USER_ID'].'_'.Clean::fichier($BILAN_TYPE).'_'.$periode_id.'_'.$groupe_id.'_'.$BILAN_ETAT.'_'.fabriquer_fin_nom_fichier__date_et_alea();
$result = FileSystem::recuperer_upload( CHEMIN_DOSSIER_IMPORT /*fichier_chemin*/ , $fichier_nom.'.<EXT>' /*fichier_nom*/ , array('txt','csv') /*tab_extensions_autorisees*/ , NULL /*tab_extensions_interdites*/ , NULL /*taille_maxi*/ , NULL /*filename_in_zip*/ );
if($result!==TRUE)
{
exit('Erreur : '.$result);
}
$contenu_csv = file_get_contents(CHEMIN_DOSSIER_IMPORT.FileSystem::$file_saved_name);
$contenu_csv = To::deleteBOM(To::utf8($contenu_csv)); // Mettre en UTF-8 si besoin et retirer le BOM éventuel
$tab_lignes = extraire_lignes($contenu_csv); // Extraire les lignes du fichier
if(count($tab_lignes)<4)
{
exit('Erreur : absence de données suffisantes (fichier comportant moins de 4 lignes) !');
}
$separateur = extraire_separateur_csv($tab_lignes[2]); // Déterminer la nature du séparateur
// Données de la ligne d'en-tête
$tab_elements = str_getcsv($tab_lignes[0],$separateur);
示例2: array
* si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>.
*
*/
if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');}
/**
* Code inclus commun aux pages
* [./_inc/code_brevet_fiches_***.php]
*/
Erreur500::prevention_et_gestion_erreurs_fatales( TRUE /*memory*/ , FALSE /*time*/ );
// Chemins d'enregistrement
$fichier_nom = 'fiche_brevet_'.Clean::fichier($groupe_nom).'_'.fabriquer_fin_nom_fichier__date_et_alea() ;
// Initialisation de tableaux
$tab_eleve_infos = array(); // [eleve_id] => array(eleve_INE,eleve_nom,eleve_prenom,eleve_genre,date_naissance,eleve_brevet_serie)
$tab_matiere = array(); // [matiere_id] => matiere_nom
$tab_brevet_serie = array(); // [serie_ref] => serie_nom
$tab_brevet_epreuve = array(); // [serie_ref][epreuve_code] => epreuve_nom, epreuve_obligatoire, epreuve_note_chiffree, epreuve_point_sup_10, epreuve_note_comptee, epreuve_coefficient, choix_matieres
$tab_eleve_saisie = array(); // [eleve_id][epreuve_code][prof_id] => array(prof_info,appreciation,note); avec eleve_id=0 pour note ou appréciation sur la classe
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Récupération de l'identité des élèves
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$tab_eleve_infos = DB_STRUCTURE_BILAN::DB_lister_eleves_cibles( $liste_eleve , 'alpha' /*eleves_ordre*/ , FALSE /*with_gepi*/ , FALSE /*with_langue*/ , TRUE /*with_brevet_serie*/ );
if(!is_array($tab_eleve_infos))
示例3: exit
*
* Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ;
* si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>.
*
*/
if (!defined('SACoche')) {
exit('Ce fichier ne peut être appelé directement !');
}
/**
* Code inclus commun aux pages
* [./pages/releve_socle.ajax.php]
* [./_inc/code_officiel_***.php]
*/
Erreur500::prevention_et_gestion_erreurs_fatales(TRUE, FALSE);
// Chemins d'enregistrement
$fichier_nom = $make_action != 'imprimer' ? 'releve_socle_detail_' . Clean::fichier(substr($palier_nom, 0, strpos($palier_nom, ' ('))) . '_' . Clean::fichier($groupe_nom) . '_' . fabriquer_fin_nom_fichier__date_et_alea() : 'officiel_' . $BILAN_TYPE . '_' . Clean::fichier($groupe_nom) . '_' . fabriquer_fin_nom_fichier__date_et_alea();
// Tableau des langues
require CHEMIN_DOSSIER_INCLUDE . 'tableau_langues_socle.php';
$tab_item_pilier = array();
// id de l'item => id du pilier
// Initialisation de tableaux
$tab_pilier = array();
// [pilier_id] => pilier_nom;
$tab_section = array();
// [pilier_id][section_id] => section_nom;
$tab_socle = array();
// [section_id][socle_id] => socle_nom;
$tab_entree_id = array();
// [i] => entree_id
$tab_eleve_infos = array();
// [eleve_id] => array(eleve_INE,eleve_nom,eleve_prenom,date_naissance,eleve_langue)
示例4: array
$tab_eleves[$DB_ROW['user_id']] = $DB_ROW['user_reference'];
}
// Récupérer les notes enregistrées ; convertir si besoin en nombre de points correspondants
$tab_points = array();
$DB_TAB = DB_STRUCTURE_BREVET::DB_lister_brevet_notes_eleves($listing_eleve_id);
if (count($DB_TAB)) {
foreach ($DB_TAB as $DB_ROW) {
if ($DB_ROW['brevet_epreuve_code'] == CODE_BREVET_EPREUVE_TOTAL) {
$tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = $DB_ROW['saisie_note'];
} elseif ($DB_ROW['brevet_epreuve_point_sup_10']) {
$tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = max(0, $DB_ROW['saisie_note'] - 10);
} else {
$tab_points[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = is_numeric($DB_ROW['saisie_note']) ? $DB_ROW['saisie_note'] * $DB_ROW['brevet_epreuve_coefficient'] : $DB_ROW['saisie_note'];
}
}
}
// Fabriquer le fichier csv
$csv_contenu = '';
$csv_separateur = '|';
foreach ($tab_eleves as $eleve_id => $user_reference) {
foreach ($tab_points[$eleve_id] as $epreuve_code => $points) {
$csv_code = $epreuve_code != CODE_BREVET_EPREUVE_TOTAL ? (string) $epreuve_code : 'TOT';
$format = $epreuve_code != CODE_BREVET_EPREUVE_TOTAL ? "%05.2f" : "%06.2f";
$csv_note = is_numeric($points) ? sprintf($format, $points) : (string) $points;
$csv_contenu .= $user_reference . $csv_separateur . $csv_code . $csv_separateur . $csv_note . $csv_separateur . NL;
}
}
// Enregistrer le fichier csv / Retour
$fichier_nom = 'export_notanet' . '_' . Clean::fichier($_SESSION['WEBMESTRE_UAI']) . '_' . fabriquer_fin_nom_fichier__date_et_alea() . '.txt';
FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_nom, To::csv($csv_contenu));
exit($fichier_nom);
示例5: date
}
// Tag date heure initiales (code repris de [code_officiel_imprimer.php] )
$tag_date_heure_initiales = date('d/m/Y H:i') . ' ' . afficher_identite_initiale($_SESSION['USER_PRENOM'], TRUE, $_SESSION['USER_NOM'], TRUE);
// Fabrication du PDF
$archivage_tableau_PDF = new PDF_archivage_tableau(TRUE, 'portrait', 5, 5, 5, 12, 'non');
unset($tab_eleve_id[0]);
$classe_effectif = count($tab_eleve_id);
foreach ($tab_eleve_id as $eleve_id => $tab_eleve) {
$archivage_tableau_PDF->recapitulatif_initialiser($tab_etabl_coords, $tab_eleve, $classe_nom, $classe_effectif, $annee_affichee, $tag_date_heure_initiales, $tab_nb_lignes[$eleve_id][0]);
foreach ($tab_rubriques as $rubrique_id => $rubrique_nom) {
$tab_profs = isset($tab_saisies[$eleve_id][$rubrique_id]['professeur']) ? $tab_saisies[$eleve_id][$rubrique_id]['professeur'] : NULL;
$moyenne_eleve = $tab_moyennes[$rubrique_id][$eleve_id];
$moyenne_classe = $tab_moyennes[$rubrique_id][0];
$tab_appreciations = isset($tab_saisies[$eleve_id][$rubrique_id]['appreciation']) ? $tab_saisies[$eleve_id][$rubrique_id]['appreciation'] : array();
$archivage_tableau_PDF->recapitulatif_rubrique($tab_nb_lignes[$eleve_id][$rubrique_id], $rubrique_nom, $tab_profs, $moyenne_eleve, $moyenne_classe, $tab_appreciations);
}
}
$periode_nom = 'Année Scolaire';
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Enregistrement et affichage du retour.
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$fichier_export = 'saisies_' . $BILAN_TYPE . '_' . Clean::fichier($periode_nom) . '_' . Clean::fichier($classe_nom) . '_' . $action . '_' . fabriquer_fin_nom_fichier__date_et_alea();
FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT . $fichier_export . '.pdf', $archivage_tableau_PDF);
echo '<a target="_blank" href="' . URL_DIR_EXPORT . $fichier_export . '.pdf"><span class="file file_pdf">' . $tab_actions[$action] . ' (format <em>pdf</em>).</span></a>';
// Et le csv éventuel
if ($action == 'imprimer_donnees_eleves_moyennes') {
FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier_export . '.csv', To::csv($archivage_tableau_CSV));
echo '<br />' . NL . '<a target="_blank" href="./force_download.php?fichier=' . $fichier_export . '.csv"><span class="file file_txt">' . $tab_actions[$action] . ' (format <em>csv</em>).</span></a>';
}
exit;
示例6: unset
* Libérer de la place mémoire car les scripts de bilans sont assez gourmands.
* Supprimer $DB_TAB ne fonctionne pas si on ne force pas auparavant la fermeture de la connexion.
* SebR devrait peut-être envisager d'ajouter une méthode qui libère cette mémoire, si c'est possible...
*/
// ////////////////////////////////////////////////////////////////////////////////////////////////////
DB::close(SACOCHE_STRUCTURE_BD_NAME);
unset($DB_TAB);
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Tableaux et variables pour mémoriser les infos ; dans cette partie on ne fait que les calculs (aucun affichage)
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$fichier = 'grille_item_'.Clean::fichier($matiere_nom).'_'.Clean::fichier($niveau_nom).'_<REPLACE>_'.fabriquer_fin_nom_fichier__date_et_alea();
$fichier_nom_type1 = ($type_generique) ? str_replace( '<REPLACE>' , 'generique' , $fichier ) : str_replace( '<REPLACE>' , Clean::fichier($groupe_nom).'_individuel' , $fichier ) ;
$fichier_nom_type2 = str_replace( '<REPLACE>' , Clean::fichier($groupe_nom).'_synthese' , $fichier ) ;
$tab_score_eleve_item = array(); // Retenir les scores / élève / item
$tab_score_item_eleve = array(); // Retenir les scores / item / élève
$tab_moyenne_scores_eleve = array(); // Retenir la moyenne des scores d'acquisitions / élève
$tab_pourcentage_acquis_eleve = array(); // Retenir le pourcentage d'items acquis / élève
$tab_moyenne_scores_item = array(); // Retenir la moyenne des scores d'acquisitions / item
$tab_pourcentage_acquis_item = array(); // Retenir le pourcentage d'items acquis / item
$moyenne_moyenne_scores = 0; // moyenne des moyennes des scores d'acquisitions
$moyenne_pourcentage_acquis = 0; // moyenne des moyennes des pourcentages d'items acquis
/*
Calcul des états d'acquisition (si besoin) et des données nécessaires pour le tableau de synthèse (si besoin).
$tab_score_eleve_item[$eleve_id][$item_id]
$tab_score_item_eleve[$item_id][$eleve_id]
$tab_moyenne_scores_eleve[$eleve_id]
示例7: foreach
$releve_HTML_body .= '<td class="nu2"></td>';
foreach ($tab as $socle_id => $socle_nom) {
$releve_HTML_body .= Html::td_validation('td', $tab_user_entree[$eleve_id][$socle_id], FALSE, $tab_user_pilier[$eleve_id][$pilier_id]['etat']);
}
}
$releve_HTML_body .= '</tr>' . NL;
$releve_PDF->validation_eleve($eleve_id, $eleve_nom, $eleve_prenom, $tab_user_pilier, $tab_user_entree, $tab_pilier, $tab_socle, $drapeau_langue);
}
}
$releve_HTML .= $affichage_checkbox ? '<form id="form_synthese" action="#" method="post">' . NL : '';
$releve_HTML .= '<table class="bilan"><thead>' . NL . $releve_HTML_head . '</thead><tbody>' . NL . $releve_HTML_body . '</tbody></table>' . NL;
$releve_HTML .= $affichage_checkbox ? HtmlForm::afficher_synthese_exploitation('eleves') . '</form>' . NL : '';
$releve_HTML .= Html::legende(FALSE, FALSE, FALSE, FALSE, $type == 'pourcentage', $type == 'validation', FALSE);
$releve_PDF->legende($type);
// Chemins d'enregistrement
$fichier = 'releve_socle_synthese_' . Clean::fichier(substr($palier_nom, 0, strpos($palier_nom, ' ('))) . '_' . Clean::fichier($groupe_nom) . '_' . $type . '_' . fabriquer_fin_nom_fichier__date_et_alea();
// On enregistre les sorties HTML et PDF
FileSystem::ecrire_fichier(CHEMIN_DOSSIER_EXPORT . $fichier . '.html', $releve_HTML);
FileSystem::ecrire_sortie_PDF(CHEMIN_DOSSIER_EXPORT . $fichier . '.pdf', $releve_PDF);
// Affichage du résultat
if ($affichage_direct) {
echo '<hr />' . NL;
echo '<ul class="puce">' . NL;
echo '<li><a target="_blank" href="' . URL_DIR_EXPORT . $fichier . '.pdf"><span class="file file_pdf">Archiver / Imprimer (format <em>pdf</em>).</span></a></li>' . NL;
echo '</ul>' . NL;
echo $releve_HTML;
} else {
echo '<ul class="puce">' . NL;
echo '<li><a target="_blank" href="' . URL_DIR_EXPORT . $fichier . '.pdf"><span class="file file_pdf">Archiver / Imprimer (format <em>pdf</em>).</span></a></li>' . NL;
echo '<li><a target="_blank" href="./releve_html.php?fichier=' . $fichier . '"><span class="file file_htm">Explorer / Détailler (format <em>html</em>).</span></a></li>' . NL;
echo '</ul>' . NL;
示例8: exit
FileSystem::supprimer_fichier(CHEMIN_DOSSIER_IMPORT.$fichier_nom);
if($code_erreur)
{
FileSystem::supprimer_dossier($dossier_temp); // Pas seulement vider, au cas où il y aurait des sous-dossiers créés par l'archive.
exit('Erreur : votre archive ZIP n\'a pas pu être ouverte ('.FileSystem::$tab_zip_error[$code_erreur].') !');
}
// Récupérer la liste des élèves et fabriquer le nom de fichier attendu correspondant à chacun
$tab_bad = array( '[sconet_id]' , '[sconet_num]' , '[reference]' , '[nom]' , '[prenom]' , '[login]' , '[ent_id]' );
$champs = 'user_id, user_id_ent, user_sconet_id, user_sconet_elenoet, user_reference, user_nom, user_prenom, user_login' ;
$DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_users_regroupement( 'eleve' /*profil_type*/ , 1 /*statut*/ , 'all' /*groupe_type*/ , 0 /*groupe_id*/ , 'alpha' /*eleves_ordre*/ , $champs );
if(!empty($DB_TAB))
{
foreach($DB_TAB as $DB_ROW)
{
$tab_bon = array( $DB_ROW['user_sconet_id'] , $DB_ROW['user_sconet_elenoet'] , Clean::fichier($DB_ROW['user_reference']) , Clean::fichier($DB_ROW['user_nom']) , Clean::fichier($DB_ROW['user_prenom']) , Clean::fichier($DB_ROW['user_login']) , Clean::fichier($DB_ROW['user_id_ent']) );
$tab_fichier_masque[$DB_ROW['user_id']] = Clean::fichier(str_replace( $tab_bad , $tab_bon , $masque ));
}
}
// Pour l'affichage du retour
$thead = '<tr><td colspan="2">Import d\'un fichier de photos zippées le '.date('d/m/Y H:i:s').'</td></tr>';
$tbody = '';
// Traiter les fichier un à un
$tab_fichier = FileSystem::lister_contenu_dossier($dossier_temp);
foreach($tab_fichier as $fichier_nom)
{
// echo'*'.$fichier_nom;
$tab_user_id = array_keys( $tab_fichier_masque , $fichier_nom );
$nb_user_find = count($tab_user_id);
if($nb_user_find == 0)
{
$tbody .= '<tr><td class="r">'.html($fichier_nom).'</td><td>Pas de correspondance trouvée.</td></tr>';
示例9: array
* [./pages/brevet_moyennes.ajax.php]
* [./_inc/code_officiel_***.php]
*/
Erreur500::prevention_et_gestion_erreurs_fatales( TRUE /*memory*/ , FALSE /*time*/ );
/*
$type_individuel | $type_synthese | $type_bulletin
$releve_modele [ matiere | selection | multimatiere | professeur ]
*/
$matiere_et_groupe = ($releve_modele=='matiere') ? $matiere_nom.' - '.$groupe_nom : $groupe_nom ;
// Chemins d'enregistrement
$fichier_nom = ($make_action!='imprimer') ? 'releve_item_'.$releve_modele.'_'.Clean::fichier($groupe_nom).'_<REPLACE>_'.fabriquer_fin_nom_fichier__date_et_alea() : 'officiel_'.$BILAN_TYPE.'_'.Clean::fichier($groupe_nom).'_'.fabriquer_fin_nom_fichier__date_et_alea() ;
// Si pas grille générique et si notes demandées ou besoin pour colonne bilan ou besoin pour synthèse
$calcul_acquisitions = ( $type_synthese || $type_bulletin || $aff_etat_acquisition ) ? TRUE : FALSE ;
// Initialisation de tableaux
$tab_item_infos = array(); // [item_id] => array(item_ref,item_nom,item_coef,item_cart,item_socle,item_lien,calcul_methode,calcul_limite,calcul_retroactif);
$tab_matiere_item = array(); // [matiere_id][item_id] => item_nom
$tab_eleve_infos = array(); // [eleve_id] => array(eleve_INE,eleve_nom,eleve_prenom,date_naissance,eleve_id_gepi)
$tab_matiere = array(); // [matiere_id] => array(matiere_nom,matiere_nb_demandes)
$tab_eval = array(); // [eleve_id][matiere_id][item_id][devoir] OU [matiere_id][item_id][eleve_id][devoir] => array(note,date,info)
// Initialisation de variables
if( ($make_html) || ($make_pdf) )
示例10: list
$repartition_type = (isset($_POST['f_repartition_type'])) ? Clean::texte($_POST['f_repartition_type']) : '';
$cart_detail = (isset($_POST['f_detail'])) ? Clean::texte($_POST['f_detail']) : '';
$cart_cases_nb = (isset($_POST['f_cases_nb'])) ? Clean::entier($_POST['f_cases_nb']) : '';
$cart_contenu = (isset($_POST['f_contenu'])) ? Clean::texte($_POST['f_contenu']) : '';
$orientation = (isset($_POST['f_orientation'])) ? Clean::texte($_POST['f_orientation']) : '';
$marge_min = (isset($_POST['f_marge_min'])) ? Clean::texte($_POST['f_marge_min']) : '';
$couleur = (isset($_POST['f_couleur'])) ? Clean::texte($_POST['f_couleur']) : '';
$fond = (isset($_POST['f_fond'])) ? Clean::texte($_POST['f_fond']) : '';
$only_req = (isset($_POST['f_restriction_req'])) ? TRUE : FALSE;
$doc_objet = (isset($_POST['f_doc_objet'])) ? Clean::texte($_POST['f_doc_objet']) : '';
$doc_url = (isset($_POST['f_doc_url'])) ? Clean::texte($_POST['f_doc_url']) : '';
$fini = (isset($_POST['f_fini'])) ? Clean::texte($_POST['f_fini']) : '';
$chemin_devoir = CHEMIN_DOSSIER_DEVOIR.$_SESSION['BASE'].DS;
$url_dossier_devoir = URL_DIR_DEVOIR.$_SESSION['BASE'].'/';
$fnom_export = $_SESSION['BASE'].'_'.Clean::fichier($groupe_nom).'_'.Clean::fichier($description).'_'.fabriquer_fin_nom_fichier__date_et_alea();
// Si "ref" est renseigné (pour Éditer ou Retirer ou Saisir ou ...), il contient l'id de l'évaluation + '_' + l'initiale du type de groupe + l'id du groupe
// Dans le cas d'une duplication, "ref" sert à retrouver l'évaluation d'origine pour évenuellement récupérer l'ordre des items
if(mb_strpos($ref,'_'))
{
list($devoir_id,$groupe_temp) = explode('_',$ref,2);
$devoir_id = Clean::entier($devoir_id);
// Si "groupe" est transmis en POST (pour Ajouter ou Éditer), il faut le prendre comme référence nouvelle ; sinon, on prend le groupe extrait de "ref"
$groupe = ($groupe) ? $groupe : Clean::texte($groupe_temp) ;
}
else
{
$devoir_id = 0;
}
示例11: zip_filename
public static function zip_filename($text) { return Clean::fichier(iconv('CP850','UTF-8',$text)); } // filenames stored in the ZIP archives created on non-Unix systems are encoded in CP850 http://fr.php.net/manual/fr/function.zip-entry-name.php#87130
示例12: recuperer_upload
/**
* Récupérer un fichier uploadé, effectuer les vérifications demandées, et l'enregistrer dans le dossier et sous le nom indiqué.
*
* @param string $fichier_final_chemin
* @param string $fichier_final_nom (facultatif) Si pas transmis, ce sera le nom du fichier envoyé (nettoyé) ; si transmis, peut comporter ".<EXT>" qui sera remplacé par l'extension du fichier réceptionné.
* @param array $tab_extensions_autorisees (facultatif) tableau des extensions autorisées
* @param array $tab_extensions_interdites (facultatif) tableau des extensions interdites
* @param int $taille_maxi (facultatif) en Ko
* @param string $filename_in_zip (facultatif) nom d'un fichier contenu dans le fichier zippé reçu, à extraire au passage
* @return TRUE|string TRUE ou un message d'erreur
*/
public static function recuperer_upload( $fichier_final_chemin , $fichier_final_nom=NULL , $tab_extensions_autorisees=NULL , $tab_extensions_interdites=NULL , $taille_maxi=NULL , $filename_in_zip=NULL )
{
// Si le fichier dépasse les capacités du serveur, il se peut que $_FILES ne soit même pas renseigné.
if(!isset($_FILES['userfile']))
{
return 'Problème de transfert ! Fichier trop lourd ? '.InfoServeur::minimum_limitations_upload();
}
// Si $_FILES est renseigné, il se peut qu'il y ait quand même eu un dépassement des limites ou un problème d'écriture.
$tab_file = $_FILES['userfile'];
$fichier_tmp_nom = $tab_file['name'];
$fichier_tmp_chemin = $tab_file['tmp_name'];
$fichier_tmp_taille = $tab_file['size']/1000; // Conversion octets => Ko
$fichier_tmp_erreur = $tab_file['error'];
if( (!file_exists($fichier_tmp_chemin)) || (!$fichier_tmp_taille) || ($fichier_tmp_erreur) )
{
$alerte_open_basedir = InfoServeur::is_open_basedir() ? ' Variable serveur "open_basedir" mal renseignée ?' : '' ;
$alerte_upload_size = ' Fichier trop lourd ? '.InfoServeur::minimum_limitations_upload();
return 'Problème de récupération !'.$alerte_open_basedir.$alerte_upload_size;
}
// Vérification d'une sécurité sur le nom
if($fichier_tmp_nom{0}=='.')
{
return 'Le nom du fichier ne doit pas commencer par un point !';
}
// Vérification de l'extension
$extension = strtolower(pathinfo($fichier_tmp_nom,PATHINFO_EXTENSION));
if( ($tab_extensions_autorisees!==NULL) && (!in_array($extension,$tab_extensions_autorisees)) )
{
return 'L\'extension du fichier transmis n\'est pas conforme !';
}
if( ($tab_extensions_interdites!==NULL) && (in_array($extension,$tab_extensions_interdites)) )
{
return 'L\'extension du fichier transmis est interdite !';
}
// Vérification de la taille
if( ($taille_maxi!==NULL) && ($fichier_tmp_taille>$taille_maxi) )
{
$conseil = '';
if( ($tab_extensions_autorisees!==NULL) && (in_array('jpg',$tab_extensions_autorisees)) )
{
$conseil = (($extension=='jpg')||($extension=='jpeg')) ? ' : réduisez les dimensions de l\'image' : ' : convertissez l\'image au format JPEG' ;
}
return 'Le fichier dépasse les '.$taille_maxi.' Ko autorisés'.$conseil.' !';
}
// On rapatrie le fichier dans l'arborescence SACoche, en en dézippant un fichier précis si demandé
$fichier_final_nom = ($fichier_final_nom) ? str_replace('.<EXT>','.'.$extension,$fichier_final_nom) : Clean::fichier($fichier_tmp_nom);
if( ($extension!='zip') || ($filename_in_zip===NULL) )
{
if(!move_uploaded_file($fichier_tmp_chemin,$fichier_final_chemin.$fichier_final_nom))
{
return 'Le fichier n\'a pas pu être enregistré sur le serveur.';
}
}
else
{
// Dézipper le fichier (on considère alors que c'est un zip venant de SACoche et contenant import_validations.xml)
if(extension_loaded('zip')!==TRUE)
{
return 'Le serveur ne gère pas les fichiers ZIP ! Renvoyez votre fichier sans compression.';
}
// Remarque : la ligne suivante peut balancer un exit sans se poser de questions
FileSystem::unzip_one( $fichier_tmp_chemin , $filename_in_zip , $fichier_final_chemin.$fichier_final_nom );
}
// C'est bon :)
FileSystem::$file_upload_name = $fichier_tmp_nom;
FileSystem::$file_saved_name = $fichier_final_nom;
return TRUE;
}
示例13: str_replace
$xml.= ' <etat>'.$tab_item_infos['etat'].'</etat>'."\r\n";
$xml.= ' <info>'.html($tab_item_infos['info']).'</info>'."\r\n";
}
$xml.= ' </renseignement>'."\r\n";
$xml.= ' </item>'."\r\n";
}
}
$xml.= ' </competence>'."\r\n";
}
$xml.= ' </palier>'."\r\n";
}
$xml.= ' </eleve>'."\r\n";
}
}
$fichier_extension = ($action=='export_lpc') ? 'xml' : 'zip' ;
$fichier_nom = str_replace('export_','import-',$action).'-'.Clean::fichier($_SESSION['WEBMESTRE_UAI']).'_'.fabriquer_fin_nom_fichier__date_et_alea().'.'.$fichier_extension; // LPC recommande le modèle "import-lpc-{timestamp}.xml"
if($action=='export_lpc')
{
$xml.= ' </donnees>'."\r\n";
$xml.= '</lpc>'."\r\n";
// Pour LPC, ajouter la signature via un appel au serveur sécurisé
$xml = utf8_decode($xml);
$xml = ServeurCommunautaire::signer_exportLPC( $_SESSION['SESAMATH_ID'] , $_SESSION['SESAMATH_KEY'] , $xml ); // fonction sur le modèle de envoyer_arborescence_XML()
if(substr($xml,0,5)!='<?xml')
{
exit(html($xml));
}
FileSystem::ecrire_fichier( CHEMIN_DOSSIER_EXPORT.$fichier_nom , $xml );
$fichier_lien = './force_download.php?fichier='.$fichier_nom;
}
else
示例14: exit
*
* SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE :
* sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER.
* Consultez la Licence Publique Générale GNU Affero pour plus de détails.
*
* Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ;
* si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>.
*
*/
if (!defined('SACoche')) {
exit('Ce fichier ne peut être appelé directement !');
}
$action = isset($_POST['f_action']) ? Clean::texte($_POST['f_action']) : '';
$chemin_logs = isset($_POST['f_chemin_logs']) ? Clean::texte($_POST['f_chemin_logs']) : '';
$etabl_id_listing = isset($_POST['f_etabl_id_listing']) ? Clean::texte($_POST['f_etabl_id_listing']) : '';
$fichier_logs = isset($_POST['f_fichier']) ? Clean::fichier($_POST['f_fichier']) : '';
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Modifier les paramètres de debug
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'modifier_debug') {
$debug = 0;
$tab_debug = array('PHP' => 1, 'PHPCAS' => 2, 'SQL' => 4, 'SESSION' => 8, 'POST' => 16, 'GET' => 32, 'FILES' => 64, 'COOKIE' => 128, 'SERVER' => 256, 'CONST' => 512);
foreach ($tab_debug as $debug_mode => $debug_val) {
$debug += isset($_POST['f_debug_' . $debug_mode]) ? $debug_val : 0;
}
if ($debug) {
FileSystem::ecrire_fichier(CHEMIN_FICHIER_DEBUG_CONFIG, $debug);
} else {
FileSystem::supprimer_fichier(CHEMIN_FICHIER_DEBUG_CONFIG, TRUE);
}
exit('ok');
示例15: implode
}
// On récupère les photos
$listing_user_id = implode(',',array_keys($tab_vignettes));
$DB_TAB = DB_STRUCTURE_IMAGE::DB_lister_images( $listing_user_id , 'photo' );
if(!empty($DB_TAB))
{
foreach($DB_TAB as $DB_ROW)
{
$tab_vignettes[$DB_ROW['user_id']]['img_width'] = $DB_ROW['image_largeur'];
$tab_vignettes[$DB_ROW['user_id']]['img_height'] = $DB_ROW['image_hauteur'];
$tab_vignettes[$DB_ROW['user_id']]['img_src'] = $DB_ROW['image_contenu'];
$tab_vignettes[$DB_ROW['user_id']]['img_title'] = FALSE;
}
}
// Génération de la sortie HTML (affichée directement) et de la sortie PDF (enregistrée dans un fichier)
$fnom_pdf = 'trombinoscope_'.$_SESSION['BASE'].'_'.Clean::fichier($groupe_nom).'_'.fabriquer_fin_nom_fichier__date_et_alea().'.pdf';
$trombinoscope_HTML = '<h2>'.html($groupe_nom).'</h2><p><a target="_blank" href="'.URL_DIR_EXPORT.$fnom_pdf.'"><span class="file file_pdf">Archiver / Imprimer (format <em>pdf</em>).</span></a> → <span class="noprint">Afin de préserver l\'environnement, n\'imprimer que si nécessaire !</span></p>';
$trombinoscope_PDF = new PDF_trombinoscope( FALSE /*officiel*/ , 'portrait' /*orientation*/ , 5 /*marge_gauche*/ , 5 /*marge_droite*/ , 5 /*marge_haut*/ , 7 /*marge_bas*/ );
$trombinoscope_PDF->initialiser($groupe_nom);
// On passe les élèves en revue (on a toutes les infos déjà disponibles)
foreach($tab_vignettes as $user_id => $tab)
{
$trombinoscope_PDF->vignette($tab);
$img_src = ($tab['img_src']) ? ' src="data:'.image_type_to_mime_type(IMAGETYPE_JPEG).';base64,'.$tab['img_src'].'"' : ' src="./_img/trombinoscope_vide.png"' ;
$img_title = ($tab['img_title']) ? ' title="absence de photo"' : '' ;
$trombinoscope_HTML .= '<div id="div_'.$user_id.'" class="photo"><img width="'.$tab['img_width'].'" height="'.$tab['img_height'].'" alt=""'.$img_src.$img_title.' /><br />'.html($tab['user_nom']).'<br />'.html($tab['user_prenom']).'</div>';
}
// Enregistrement du PDF
FileSystem::ecrire_sortie_PDF( CHEMIN_DOSSIER_EXPORT.$fnom_pdf , $trombinoscope_PDF );
// Affichage du HTML
exit($trombinoscope_HTML);