XLS et script qui renomme le fichier en nom fix

Fee
Eléphanteau du PHP | 28 Messages

21 avr. 2012, 07:10

Salut, merci de m'aider, voici mon script mais je veux le changer pour des fichier Excel XLS mais cela refuse l'extention disant que ce n'est pas la bonne. Des idées ? je voudrais me pas trop le modifier mais bon.

<?php
define ("FILEREPOSITORY","./");
$content_dir = '../upload/'; // dossier où sera déplacé le fichier
if (is_uploaded_file($_FILES['classnotes']['tmp_name'])) {

if ($_FILES['classnotes']['type'] != "application/xls") {
echo "<p>Class notes must be uploaded in XLS format.</p>";
} else {
$name = $_POST['name'];
$result = move_uploaded_file($_FILES['classnotes']['tmp_name'], $content_dir . FILEREPOSITORY."/$name.xls");
if ($result == 1) echo "<p>File successfully uploaded.</p>";
else echo "<p>There was a problem uploading the file.</p>";
} #endIF
} #endIF
?>

HTML:

<form enctype="multipart/form-data" method="post" action="upload2.php">
3. Bulletin : <input type="hidden" name="name" value="bulletin" readonly="readonly" />
<input type="file" name="classnotes" value="" />
<input type="submit" name="submit" value="Submit Notes" /></form>

ViPHP
ViPHP | 2577 Messages

21 avr. 2012, 14:56

ajoute var_dump($_FILE)
Je pense que tu verras par quoi il faut remplacer : application/xls

Fee
Eléphanteau du PHP | 28 Messages

21 avr. 2012, 20:13

Comme ceci ? Si oui, non cela ne fonctionne pas!

<?php
define ("FILEREPOSITORY","./");
$content_dir = '../upload/'; // dossier où sera déplacé le fichier
if (is_uploaded_file var_dump($_FILES['classnotes']['tmp_name'])) {

if var_dump($_FILES['classnotes']['type'] != "application/pdf") {
echo "<p>Class notes must be uploaded in PDF format.</p>";
} else {
$name = $_POST['name'];
$result = move_uploaded_file var_dump($_FILES['classnotes']['tmp_name'], $content_dir . FILEREPOSITORY."/$name.pdf");
if ($result == 1) echo "<p>File successfully uploaded.</p>";
else echo "<p>There was a problem uploading the file.</p>";
} #endIF
} #endIF
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 avr. 2012, 22:35

Euh... ben ça dépend de ce que tu veux faire... En l'occurrence var_dump($_FILES); s'utilise comme une instruction à part entière et non en plein milieu d'une autre instruction. L'objectif est d'afficher les informations relatives au fichier que tu es en train d'uploader pour comprendre ce qui ne va pas...

Mais pour ça, faut savoir ce que tu veux faire, parce que dans ton premier script tu n'autorisais l'upload que de fichiers excels dans celui-ci tu refuses les fichiers excels pour n'autoriser que les fichiers pdf...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Fee
Eléphanteau du PHP | 28 Messages

21 avr. 2012, 23:28

Salut, vous avez raison mais cela reste qu'en PDF il fonctionne super bien, il transfère et renomme comme je veux. Pourquoi juste le fait de le changer en xls cela ne passer plus ?

Qu'est-ce qu'une extention peu changer au script ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 avr. 2012, 00:14

vérifie le type mime, l'extension c'est quedal :)

avec le var_dump tu verra le type que fournit php pour ton fichier xsl :)

donc var_dump($_FILES); n'importe où sauf dans un if.

@+
Il en faut peu pour être heureux ......

Fee
Eléphanteau du PHP | 28 Messages

22 avr. 2012, 04:15

application/vnd.ms-excel

http://filext.com/file-extension/XLS

Merci cela fonctionne maintenant.