[Résolu] CGI - Comment récupérer le MIME ?

CGI - Comment récupérer le MIME ? [Résolu] - HTML/CSS - Programmation

Marsh Posté le 28-06-2004 à 14:35:50    

Bonjour,
 
C'est toujours pour mon histoire d'upload de fichier en CGI codé en C (topics précédents) ....
 
En fait, je comprends pas comment récupérer le MIME dans mon code ... pour analyser ensuite les champs.
 
Ca fait un bon petit moment que je cherche (google et forums) sans succes alors je serais prenneur d'un petit coup de pouce (parce que l'heure tourne et pendant ce temps, j'avance pas .... à la limite du reculon meme)
 
Merci beaucoup :)  
Damien


Message édité par Worldofdada le 29-06-2004 à 16:25:09
Reply

Marsh Posté le 28-06-2004 à 14:35:50   

Reply

Marsh Posté le 28-06-2004 à 14:36:39    

D'ailleurs, quand je dis que je trouve pas, c'est que je trouve pas pour le C (parce qu'en Perl, y'en a plein des trucs sur ca ...)

Reply

Marsh Posté le 28-06-2004 à 15:18:22    

dans les sources php, tu as un fichiers appelé php_apache.c qui traite des headers (apache_request_headers, apache_response_headers. Tu trouveras peut-être une solution de ce coté.
Il y a aussi les extensions Zend


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 28-06-2004 à 15:22:50    

je vais matter ca .... sans trop de conviction parce que j'avais déjà regardé les sources PHP (pas ce fichier) et j'avais pas compris grand chose ....
 
Mais merci quand meme :)

Reply

Marsh Posté le 28-06-2004 à 15:52:00    

Ouais, j'ai bien trouvé une fonction mais alors je vais en chier .... (je peux meme pas faire de copier / coller parce que je developpe sur une machine qui n'a pas le net et qui est sous Unix) :
 

Code :
  1. PHP_FUNCTION(apache_request_headers)
  2. {
  3.     array_header *env_arr;
  4.     table_entry *tenv;
  5.     int i;
  6.     if (array_init(return_value) == FAILURE) {
  7.  RETURN_FALSE;
  8.     }
  9.     env_arr = table_elts(((request_rec *) SG(server_context))->headers_in);
  10.     tenv = (table_entry *)env_arr->elts;
  11.     for (i = 0; i < env_arr->nelts; ++i) {
  12.  if (!tenv[i].key ||
  13.   (PG(safe_mode) &&
  14.    !strncasecmp(tenv[i].key, "authorization", 13))) {
  15.   continue;
  16.  }
  17.  if (add_assoc_string(return_value, tenv[i].key, (tenv[i].val==NULL) ? "" : tenv[i].val, 1)==FAILURE) {
  18.   RETURN_FALSE;
  19.  }
  20.     }
  21. }


 
Ca veux dire qu'il faut que je trouve dans les fichiers tous les types et toutes les fonctions qui sont dans celle ci (et récursivement pour toute les fonctions appellées)  :cry:  
 
Je vais tenter ca mais bon .... chui prenneur d'une solution plus simple (ca doit bien exister quand meme un truc simple pour faire un upload de fichier)
 
Merci

Reply

Marsh Posté le 28-06-2004 à 15:54:22    

en PHP oui ... ;)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 28-06-2004 à 16:02:31    

ouais mais malheureusement, je ne peux pas l'utiliser parce que je dois également utiliser une base de donnée exotique en utilisant un kit de développement en C.
 
snif snif snif .... pourquoi ils ont pas eu la bonne idée de mettre une base MySQL

Reply

Marsh Posté le 28-06-2004 à 16:09:07    

C'est peut-être à toi de leur montrer les bénéfices :
- Temps de développement plus court
- maintenance plus aisée
- stabilité de l'application plus importante
- possibilités d'évolutions plus simples et plus importantes
- ...


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 28-06-2004 à 16:52:15    

Ils voulaient utiliser leur propre base de donnée .... c'est vrai qu'ils ont un serveur pour ca, ils voulaient pas mettre une 2eme base de donnée alors que leur principal boulot est de développer la leur :s  
 
Mais c'est pas adapté au Web, c'est kler et net (2 secondes de connexion et super lourd à utiliser) mais ils voulaient ca .... si j'avais pu faire en PHP, j'aurais pas hésité une seule seconde

Reply

Marsh Posté le 28-06-2004 à 17:23:45    

Tu n'as pas moyen de connecter à la base avec la commande fsockopen() ? Si oui, ce sera nettement plus simple pour toi !


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 28-06-2004 à 17:23:45   

Reply

Marsh Posté le 28-06-2004 à 17:44:25    

Je pense pas que ce soit possible (je demanderais).
 
Mais admettons que ce soit possible, comment lancer des requetes sur la base ?  
C'est vraiment tres spécial comme BDD ...
 
Et puis en meme temps, ils avaient déjà commencé le boulot (environ 100h de boulot) alors sur un stage de 2 mois, j'allais pas leur dire que c'était bidon et que j'allais tout refaire non plus .... :s

Reply

Marsh Posté le 28-06-2004 à 17:51:39    

Regarde bien la doc sur cette fonction fsockopen()
 
Oui ils avaient déjà commencé, mais s'il faut encore 1000h de boulot et qu'en reprenant à zéro, il te faut 100h de plus. Le gain est vite vu. Essaie d'en discuter tranquillement avec ton maitre de stage


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 09:11:14    

En fait, le fichier est bien inséré dans le MIME tout seul. Non ?
 
Parce que je ne rentre strictement aucune information dedans ....

Reply

Marsh Posté le 29-06-2004 à 09:11:57    

Sinon, j'ai percuté que je peux peut etre faire un module PHP qui gere uniquement l'upload de fichier .... ce serait surement le plus simple

Reply

Marsh Posté le 29-06-2004 à 16:24:04    

C'est bon, j'ai réussi a tout récupérer ..... fallait mettre en POST

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed