[PHP]Des petits problèmes dans mon script
drogba7213
Messages postés
1524
Date d'inscription
Statut
Membre
Dernière intervention
-
drogba7213 Messages postés 1524 Date d'inscription Statut Membre Dernière intervention -
drogba7213 Messages postés 1524 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai deux petits soucis
Mon premier:
Je demande une photo avec ce script
if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0)
{
// Test si le fichier n'est pas trop gros
if ($_FILES['fichier']['size'] <= 5000000)
{
// Test si l'extension est autorisée
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['fichier']['tmp_name'], 'C:/Documents and Settings/slelais/Bureau/site/'.$_FILES['fichier']['name']);
echo "L'envoi a bien été effectué !";
}
else
{
echo "cependant votre photo ne possède pas la bonne extension. Elle passera en jpg, jpeg, gif, png. ";
}
}
else
{
echo "cependant votre photo est tros grosse pas plus de 5 Mo. ";
}
}
Et hélas la photo même si elle est correcte ne se met pas dans mon répertoire j'aimerais savoir pourquoi svp.
Mon second problème:
Je cherche à mettre les données de mon formulaire qui est sur le net directement dans un classeur excel et sans de base de donnée. J'ai commencé mais j'ai un soucis ici
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
Ca me met ca comme erreur :
Fatal error: Cannot instantiate non-existent class: com in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 44
Voici mon script en entier pour le fichier excel si vous trouvez d'autres problèmes ....
define("FILENAME","C:/Documents and Settings/slelais/Bureau/site/phpexcel.xls");
if(file_exists(FILENAME)) // On vérifie que le fichier existe.
{
unlink(FILENAME); // Suppression du fichier précédemment créé s'il existe.
}
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
$sheet=$book->Worksheets(1);//$sheet contient la feuille active (comme son nom l'indique, feuille en anglais)
$sheet->Name="phpexcel.xls";//Attribution d'un nom à la feuille
$cell->EntireColumn->AutoFit; // La largeur de la colonne s'adapte en fonction de l'intérieur de la cellule
$cell=$sheet->Range('B1'); // On sélectionne la case B1
$cell->value=nom; // On met la valeur dans la cellule B1, peu importe le type.
$cell=$sheet->Range('C1');
$cell->value=prenom;
$cell=$sheet->Range('D1');
$cell->value=naissance;
$cell=$sheet->Range('E1');
$cell->value=lieu;
$cell=$sheet->Range('F1');
$cell->value=dpt;
$cell=$sheet->Range('G1');
$cell->value=adresse;
$cell=$sheet->Range('H1');
$cell->value=telephone;
$cell=$sheet->Range('I1');
$cell->value=telecopie;
$cell=$sheet->Range('J1');
$cell->value=portable;
$cell=$sheet->Range('K1');
$cell->value=mail;
$cell=$sheet->Range('L1');
$cell->value=classe;
$cell=$sheet->Range('M1');
$cell->value=option;
$cell=$sheet->Range('N1');
$cell->value=anne;
$cell=$sheet->Range('O1');
$cell->value=classe2;
$cell=$sheet->Range('P1');
$cell->value=option2;
$cell=$sheet->Range('Q1');
$cell->value=annee2;
$cell=$sheet->Range('R1');
$cell->value=classe3;
$cell=$sheet->Range('S1');
$cell->value=option3;
$cell=$sheet->Range('T1');
$cell->value=annee3;
$cell=$sheet->Range('U1');
$cell->value=classe4;
$cell=$sheet->Range('V1');
$cell->value=option4;
$cell=$sheet->Range('W1');
$cell->value=annee4;
$cell=$sheet->Range('X1');
$cell->value=classe5;
$cell=$sheet->Range('Y1');
$cell->value=option5;
$cell=$sheet->Range('Z1');
$cell->value=annee5;
$cell=$sheet->Range('AA1');
$cell->value=classe6;
$cell=$sheet->Range('AB1');
$cell->value=option6;
$cell=$sheet->Range('AC1');
$cell->value=annee6;
$cell=$sheet->Range('AD1');
$cell->value=classe7;
$cell=$sheet->Range('AE1');
$cell->value=option7;
$cell=$sheet->Range('AF1');
$cell->value=annee7;
$cell=$sheet->Range('AG1');
$cell->value=classe8;
$cell=$sheet->Range('AH1');
$cell->value=option8;
$cell=$sheet->Range('AI1');
$cell->value=annee8;
$cell=$sheet->Range('AJ1');
$cell->value=mention;
$cell=$sheet->Range('AK1');
$cell->value=annee9;
$cell=$sheet->Range('AL1');
$cell->value=mention2;
$cell=$sheet->Range('AM1');
$cell->value=annee10;
$cell=$sheet->Range('B2'); // On sélectionne la case B2
$cell->value=$_POST['nom']; // On met la valeur de $POST_['variable'] dans la cellule B1, peu importe le type.
$cell=$sheet->Range('C2');
$cell->value=$_POST['prenom'];
$cell=$sheet->Range('D2');
$cell->value=$_POST['naissance'];
$cell=$sheet->Range('E2');
$cell->value=$_POST['lieu'];
$cell=$sheet->Range('F2');
$cell->value=$_POST['dpt'];
$cell=$sheet->Range('G2');
$cell->value=$_POST['adresse'];
$cell=$sheet->Range('H2');
$cell->value=$_POST['telephone'];
$cell=$sheet->Range('I2');
$cell->value=$_POST['telecopie'];
$cell=$sheet->Range('J2');
$cell->value=$_POST['portable'];
$cell=$sheet->Range('K2');
$cell->value=$_POST['mail'];
$cell=$sheet->Range('L2');
$cell->value=$_POST['classe'];
$cell=$sheet->Range('M2');
$cell->value=$_POST['option'];
$cell=$sheet->Range('N2');
$cell->value=$_POST['anne'];
$cell=$sheet->Range('O2');
$cell->value=$_POST['classe2'];
$cell=$sheet->Range('P2');
$cell->value=$_POST['option2'];
$cell=$sheet->Range('Q2');
$cell->value=$_POST['annee2'];
$cell=$sheet->Range('R2');
$cell->value=$_POST['classe3'];
$cell=$sheet->Range('S2');
$cell->value=$_POST['option3'];
$cell=$sheet->Range('T2');
$cell->value=$_POST['annee3'];
$cell=$sheet->Range('U2');
$cell->value=$_POST['classe4'];
$cell=$sheet->Range('V2');
$cell->value=$_POST['option4'];
$cell=$sheet->Range('W2');
$cell->value=$_POST['annee4'];
$cell=$sheet->Range('X2');
$cell->value=$_POST['classe5'];
$cell=$sheet->Range('Y2');
$cell->value=$_POST['option5'];
$cell=$sheet->Range('Z2');
$cell->value=$_POST['annee5'];
$cell=$sheet->Range('AA2');
$cell->value=$_POST['classe6'];
$cell=$sheet->Range('AB2');
$cell->value=$_POST['option6'];
$cell=$sheet->Range('AC2');
$cell->value=$_POST['annee6'];
$cell=$sheet->Range('AD2');
$cell->value=$_POST['classe7'];
$cell=$sheet->Range('AE2');
$cell->value=$_POST['option7'];
$cell=$sheet->Range('AF2');
$cell->value=$_POST['annee7'];
$cell=$sheet->Range('AG2');
$cell->value=$_POST['classe8'];
$cell=$sheet->Range('AH2');
$cell->value=$_POST['option8'];
$cell=$sheet->Range('AI2');
$cell->value=$_POST['annee8'];
$cell=$sheet->Range('AJ2');
$cell->value=$_POST['mention'];
$cell=$sheet->Range('AK2');
$cell->value=$_POST['annee9'];
$cell=$sheet->Range('AL2');
$cell->value=$_POST['mention2'];
$cell=$sheet->Range('AM2');
$cell->value=$_POST['annee10'];
$book->saveas(FILENAME);//Sauvegarde du fichier
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'instance $excel
Je vous implores svp
Merci d'avance pour votre aide
J'ai deux petits soucis
Mon premier:
Je demande une photo avec ce script
if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0)
{
// Test si le fichier n'est pas trop gros
if ($_FILES['fichier']['size'] <= 5000000)
{
// Test si l'extension est autorisée
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['fichier']['tmp_name'], 'C:/Documents and Settings/slelais/Bureau/site/'.$_FILES['fichier']['name']);
echo "L'envoi a bien été effectué !";
}
else
{
echo "cependant votre photo ne possède pas la bonne extension. Elle passera en jpg, jpeg, gif, png. ";
}
}
else
{
echo "cependant votre photo est tros grosse pas plus de 5 Mo. ";
}
}
Et hélas la photo même si elle est correcte ne se met pas dans mon répertoire j'aimerais savoir pourquoi svp.
Mon second problème:
Je cherche à mettre les données de mon formulaire qui est sur le net directement dans un classeur excel et sans de base de donnée. J'ai commencé mais j'ai un soucis ici
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
Ca me met ca comme erreur :
Fatal error: Cannot instantiate non-existent class: com in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 44
Voici mon script en entier pour le fichier excel si vous trouvez d'autres problèmes ....
define("FILENAME","C:/Documents and Settings/slelais/Bureau/site/phpexcel.xls");
if(file_exists(FILENAME)) // On vérifie que le fichier existe.
{
unlink(FILENAME); // Suppression du fichier précédemment créé s'il existe.
}
$excel=new COM("Excel.application"); //Instanciation de l'objet COM
$excel->sheetsinnewworkbook=1;//1 seule feuille de calcul dans le document
$excel->Workbooks->Add();//Ajout d'un classeur
$book=$excel->Workbooks(1);//$book contient le classeur actif
$sheet=$book->Worksheets(1);//$sheet contient la feuille active (comme son nom l'indique, feuille en anglais)
$sheet->Name="phpexcel.xls";//Attribution d'un nom à la feuille
$cell->EntireColumn->AutoFit; // La largeur de la colonne s'adapte en fonction de l'intérieur de la cellule
$cell=$sheet->Range('B1'); // On sélectionne la case B1
$cell->value=nom; // On met la valeur dans la cellule B1, peu importe le type.
$cell=$sheet->Range('C1');
$cell->value=prenom;
$cell=$sheet->Range('D1');
$cell->value=naissance;
$cell=$sheet->Range('E1');
$cell->value=lieu;
$cell=$sheet->Range('F1');
$cell->value=dpt;
$cell=$sheet->Range('G1');
$cell->value=adresse;
$cell=$sheet->Range('H1');
$cell->value=telephone;
$cell=$sheet->Range('I1');
$cell->value=telecopie;
$cell=$sheet->Range('J1');
$cell->value=portable;
$cell=$sheet->Range('K1');
$cell->value=mail;
$cell=$sheet->Range('L1');
$cell->value=classe;
$cell=$sheet->Range('M1');
$cell->value=option;
$cell=$sheet->Range('N1');
$cell->value=anne;
$cell=$sheet->Range('O1');
$cell->value=classe2;
$cell=$sheet->Range('P1');
$cell->value=option2;
$cell=$sheet->Range('Q1');
$cell->value=annee2;
$cell=$sheet->Range('R1');
$cell->value=classe3;
$cell=$sheet->Range('S1');
$cell->value=option3;
$cell=$sheet->Range('T1');
$cell->value=annee3;
$cell=$sheet->Range('U1');
$cell->value=classe4;
$cell=$sheet->Range('V1');
$cell->value=option4;
$cell=$sheet->Range('W1');
$cell->value=annee4;
$cell=$sheet->Range('X1');
$cell->value=classe5;
$cell=$sheet->Range('Y1');
$cell->value=option5;
$cell=$sheet->Range('Z1');
$cell->value=annee5;
$cell=$sheet->Range('AA1');
$cell->value=classe6;
$cell=$sheet->Range('AB1');
$cell->value=option6;
$cell=$sheet->Range('AC1');
$cell->value=annee6;
$cell=$sheet->Range('AD1');
$cell->value=classe7;
$cell=$sheet->Range('AE1');
$cell->value=option7;
$cell=$sheet->Range('AF1');
$cell->value=annee7;
$cell=$sheet->Range('AG1');
$cell->value=classe8;
$cell=$sheet->Range('AH1');
$cell->value=option8;
$cell=$sheet->Range('AI1');
$cell->value=annee8;
$cell=$sheet->Range('AJ1');
$cell->value=mention;
$cell=$sheet->Range('AK1');
$cell->value=annee9;
$cell=$sheet->Range('AL1');
$cell->value=mention2;
$cell=$sheet->Range('AM1');
$cell->value=annee10;
$cell=$sheet->Range('B2'); // On sélectionne la case B2
$cell->value=$_POST['nom']; // On met la valeur de $POST_['variable'] dans la cellule B1, peu importe le type.
$cell=$sheet->Range('C2');
$cell->value=$_POST['prenom'];
$cell=$sheet->Range('D2');
$cell->value=$_POST['naissance'];
$cell=$sheet->Range('E2');
$cell->value=$_POST['lieu'];
$cell=$sheet->Range('F2');
$cell->value=$_POST['dpt'];
$cell=$sheet->Range('G2');
$cell->value=$_POST['adresse'];
$cell=$sheet->Range('H2');
$cell->value=$_POST['telephone'];
$cell=$sheet->Range('I2');
$cell->value=$_POST['telecopie'];
$cell=$sheet->Range('J2');
$cell->value=$_POST['portable'];
$cell=$sheet->Range('K2');
$cell->value=$_POST['mail'];
$cell=$sheet->Range('L2');
$cell->value=$_POST['classe'];
$cell=$sheet->Range('M2');
$cell->value=$_POST['option'];
$cell=$sheet->Range('N2');
$cell->value=$_POST['anne'];
$cell=$sheet->Range('O2');
$cell->value=$_POST['classe2'];
$cell=$sheet->Range('P2');
$cell->value=$_POST['option2'];
$cell=$sheet->Range('Q2');
$cell->value=$_POST['annee2'];
$cell=$sheet->Range('R2');
$cell->value=$_POST['classe3'];
$cell=$sheet->Range('S2');
$cell->value=$_POST['option3'];
$cell=$sheet->Range('T2');
$cell->value=$_POST['annee3'];
$cell=$sheet->Range('U2');
$cell->value=$_POST['classe4'];
$cell=$sheet->Range('V2');
$cell->value=$_POST['option4'];
$cell=$sheet->Range('W2');
$cell->value=$_POST['annee4'];
$cell=$sheet->Range('X2');
$cell->value=$_POST['classe5'];
$cell=$sheet->Range('Y2');
$cell->value=$_POST['option5'];
$cell=$sheet->Range('Z2');
$cell->value=$_POST['annee5'];
$cell=$sheet->Range('AA2');
$cell->value=$_POST['classe6'];
$cell=$sheet->Range('AB2');
$cell->value=$_POST['option6'];
$cell=$sheet->Range('AC2');
$cell->value=$_POST['annee6'];
$cell=$sheet->Range('AD2');
$cell->value=$_POST['classe7'];
$cell=$sheet->Range('AE2');
$cell->value=$_POST['option7'];
$cell=$sheet->Range('AF2');
$cell->value=$_POST['annee7'];
$cell=$sheet->Range('AG2');
$cell->value=$_POST['classe8'];
$cell=$sheet->Range('AH2');
$cell->value=$_POST['option8'];
$cell=$sheet->Range('AI2');
$cell->value=$_POST['annee8'];
$cell=$sheet->Range('AJ2');
$cell->value=$_POST['mention'];
$cell=$sheet->Range('AK2');
$cell->value=$_POST['annee9'];
$cell=$sheet->Range('AL2');
$cell->value=$_POST['mention2'];
$cell=$sheet->Range('AM2');
$cell->value=$_POST['annee10'];
$book->saveas(FILENAME);//Sauvegarde du fichier
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'instance $excel
Je vous implores svp
Merci d'avance pour votre aide
A voir également:
- [PHP]Des petits problèmes dans mon script
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
16 réponses
Salut
Pour le premier probleme
C:/Documents and Settings/slelais/Bureau/site/'.$_FILES['fichier']['name']
Tu essai d'enregistrer quelque chose dans une adresse locale, c'est impossible. Tu doit utiliser une adresse par rapport a la racine du ftp de ton serveur genre "/site/"
Pour le second probleme il faut qu'une version d'excel soit installée sur le serveur pour que l'appel fonctionne
new COM("Excel.application");
D'ou l'erreur : Cannot instantiate non-existent class
Doit y avoir mieu comme methode pour utiliser excel je pense
Pour le premier probleme
C:/Documents and Settings/slelais/Bureau/site/'.$_FILES['fichier']['name']
Tu essai d'enregistrer quelque chose dans une adresse locale, c'est impossible. Tu doit utiliser une adresse par rapport a la racine du ftp de ton serveur genre "/site/"
Pour le second probleme il faut qu'une version d'excel soit installée sur le serveur pour que l'appel fonctionne
new COM("Excel.application");
D'ou l'erreur : Cannot instantiate non-existent class
Doit y avoir mieu comme methode pour utiliser excel je pense
move_uploaded_file($_FILES['fichier']['tmp_name'], 'C:/Documents and Settings/slelais/Bureau/site/'.$_FILES['fichier']['name']);
-> Les espaces dans les chemins il n'aime pas ...
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$_FILES['fichier']['name']);
-> Les espaces dans les chemins il n'aime pas ...
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$_FILES['fichier']['name']);
ok alors pour le premier problème est ce que tu pense que si je met
http://127.0.0.1/site/
ca va fonctionner?
et pour la seconde comment je fais pour vérifier si le serveur possède excel comme logiciel vu que j'éberge chez free lol
en tout cas merci pour ta rapidité!
Après ces deux problèmes j'aurais autre chose à te demander si ca te dérange pas toujours avec ce script
En attendant je voulais savoir ce que tu voulais dire par :
Doit y avoir mieu comme methode pour utiliser excel je pense
http://127.0.0.1/site/
ca va fonctionner?
et pour la seconde comment je fais pour vérifier si le serveur possède excel comme logiciel vu que j'éberge chez free lol
en tout cas merci pour ta rapidité!
Après ces deux problèmes j'aurais autre chose à te demander si ca te dérange pas toujours avec ce script
En attendant je voulais savoir ce que tu voulais dire par :
Doit y avoir mieu comme methode pour utiliser excel je pense
Avec PHP, il faut réfléchir coté serveur.
En effet le code que tu vas creer va être éxécuté coté serveur !
Pour ça il existe des variables prédéfinies : https://www.php.net/manual/fr/reserved.variables.php qui te permettent d'utiliser le système de fichiers du serveur, sans en connaitre l'emplacement.
Avec $_SERVER['DOCUMENT_ROOT'] tu obtiens le chemin de la page PHP en train d'être éxécutée.
Essaies avec ça si ça marche.
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$_FILES['fichier']['name']);
Ju
En effet le code que tu vas creer va être éxécuté coté serveur !
Pour ça il existe des variables prédéfinies : https://www.php.net/manual/fr/reserved.variables.php qui te permettent d'utiliser le système de fichiers du serveur, sans en connaitre l'emplacement.
Avec $_SERVER['DOCUMENT_ROOT'] tu obtiens le chemin de la page PHP en train d'être éxécutée.
Essaies avec ça si ça marche.
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$_FILES['fichier']['name']);
Ju
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voila ce qu'il me repond :
Warning: move_uploaded_file(/mnt/104/sdb/7/8/site.interimages.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/mnt/104/sdb/7/8/site.inter/phpMDTD7R' to '/mnt/104/sdb/7/8/site.interimages.jpg' in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 24
Warning: move_uploaded_file(/mnt/104/sdb/7/8/site.interimages.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/mnt/104/sdb/7/8/site.inter/phpMDTD7R' to '/mnt/104/sdb/7/8/site.interimages.jpg' in /mnt/104/sdb/7/8/site.inter/stage/concours_ts.php on line 24
Evidement .....
J'ai oublié un "/" dans le path.
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT']."/".$_FILES['fichier']['name']);
J'ai oublié un "/" dans le path.
move_uploaded_file($_FILES['fichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT']."/".$_FILES['fichier']['name']);
$_SERVER est un tableau contenant des informations comme les en-têtes, dossiers et chemins du script.
C'est ca?
d'accord mais alors comment je fais pour mes photos? lol
C'est ca?
d'accord mais alors comment je fais pour mes photos? lol