Questions PHP

Fermé
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012 - 9 avril 2009 à 01:23
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 31 mai 2009 à 19:01
Bonjour,
j'ai une table dans Microsoft Excel qui contient plusiers données ,
A l'aide de Codes PHP :
Comment faire pour inserer le donnée existant dans la table de Excel dans la base de MySQL ?
a l'aide d'une formaulaire qui prcouris le fichiers Excel (.xls) el l'inserer dans la base de MYSQL ?

codes de formulaires pour parcourirs le fichiers ?
codes qui permet d'inserer les champs de table EXcel dans la base de MySQL ?


et merci
A voir également:

5 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
9 avril 2009 à 07:59
Bonjour,

Je ne suis pas certaine à 100%, mais le XLS est un format binaire et donc tu ne peut pas le lire en PHP à moins qu'il existe une lib spéciale pour ça mais je ne la connais pas.

Sinon tu peux utiliser les CSV qui s'ouvrent avec Excel et là tu les ouvres comme un fichier texte et tu délimite juste les valeurs par des ; et les lignes par des sauts de lignes.
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
9 avril 2009 à 12:18
Bonjour
alors comment je peut enregistrer ou convertir un fichiers Excel xls en fichiers cvs ?


et merci
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
11 avril 2009 à 12:03
Voilà un script que j'avais trouvé à l'époque, je l'avais un peu modifier pour pouvoir distinguer les méthodes afin d'en faire différents usages.

En gros après il te suffit de l'inclure puis de faire appel à la méthode mysql_to_excel($query); en lui passant en paramètre le résultat d'une requête MySQL.

Sinon si je me rappelle bien les nom des colonnes ne marchait plus très bien, faudrait un peu revoir ça mais bon le principe y est, il te reste à adapter ça selon tes besoins :)

<?php
/**
 * Export MySQL data to an Excel spreadsheet
 * @param $query A MySQL Query
 * Usage : 
 *		$sql_query = mysql_query("SELECT * FROM examples");
 *		mysql_to_excel($sql_query);
 */
function mysql_to_excel($query)
{
	$export = $query;
	$count = mysql_num_fields($export);
	/************
	Extract field names and write them to the $header variable
	/***********/
	$header = excel_header($query);

	/***********
	Extract all data, format it, and assign to the $data variable
	/**********/
	$data = excel_append($query);

	/************
	Set the default message for zero records
	/************/
	if ($data == "")
	{
		$data = "\n(0) Records Found!\n";
	}
	
	/************
	Set the automatic download section
	/************/
	excel_compose($header, $data);
}

function excel_header($query)
{
	/*************
	Build query, call it, and find the number of fields
	/*************/
	$export = $query;
	$count = mysql_num_fields($export);
	
	/************
	Extract field names and write them to the $header variable
	/***********/
	for ($i = 0; $i < $count; $i++)
	{
		$header .= mysql_field_name($export, $i).";";
	}
	return $header;
}

function excel_append($query)
{
	/*************
	Build query, call it, and find the number of fields
	/*************/
	$export = $query;
	$count = mysql_num_fields($export);
	
	/************
	Extract field names and write them to the $header variable
	/***********/
	for ($i = 0; $i < $count; $i++)
	{
		$header .= mysql_field_name($export, $i).";";
	}
	
	/***********
	Extract all data, format it, and assign to the $data variable
	/**********/
	while($row = mysql_fetch_row($export))
	{
		$line = '';
		foreach($row as $value)
		{
			if ((!isset($value)) OR ($value == ""))
			{
				$value = ";";
			}
			else
			{
				$value = str_replace('"', '""', $value);
				$value = '"' . $value . '"' . ";";
			}
			$line .= $value;
		}
		$data .= trim($line)."\n";
	}
	$data = str_replace("\r", "", $data);
	return $data;
}

function excel_compose($header, $data)
{
	/************
	Set the automatic download section
	/************/
	header("Content-type: application/octet-stream");
	header("Content-Disposition: attachment; filename=spreadsheet.csv");
	//header("Content-Disposition: attachment; filename=".$_GET['t']."_".date("Ymd").".csv");
	header("Pragma: no-cache");
	header("Expires: 0");
	print "$header\n$data";
}
?>
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
16 mai 2009 à 19:52
Salut
si tu a une idée sur la sécurité de chemin d'accès qui se trouve dans barre d'URL.

Mois je fais mon application avec EasyPHP, si j'exécute le page PHP je trouve dans le bar d'URL le chemin d'accès ou se trouve mon application exactement.

Par exemple dans la barre d'URL il ya : http://127.0.0.1/IPEIGafsa/Verif_Administrateur.php , si je supprime une partie cette URL, devient (http://127.0.0.1/IPEIGafsa/ ) je peux accéder au Dossier IPEIGafsa.

Alors comment faire pour que l'accès au dossier à partir de chemin d'accès devienne impossible ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
31 mai 2009 à 19:01
Tu as plusieurs choix :

Le premier, le fichier .htaccess

Tu crée un fichier que tu appelle .htaccess dans le répertoire dont tu veux interdire l'accès (attention, ne pas faire ça pour des dossiers d'images, de css, ou de js, juste pour les dossier contenant des fichiers PHP) et tu met dedans :

Deny from all


Attention le fichier ne dois pas avoir d'extension (pas .htaccess.txt ça marchera pas).

Plus d'infos sur les htaccess : https://www.commentcamarche.net/contents/7-apache-les-fichiers-htaccess

Deuxième choix :
Tu crée un fichier index.html dans le dossier et dedans tu ne met rien.


Il existe aussi une autre solution si tu peux configurer apache, qui consiste à ne pas lister le contenu d'un répertoire s'il ne trouve pas les fichiers par défaut affichés (tels que index.html, index.php et autres si tu les as ajoutés).
0