Rename PHP : No error
Résolu
yirkkiller
-
yirkkiller -
yirkkiller -
Bonjour à tous,
Je suis sous Windows 7, avec WampServer 2.0i.
J'ai un problème avec le module d'upload de fichier.
Voici le code de mon formulaire :
Et voici le code de l'upload :
J'ai une erreur dans le log de Apache :
[Mon May 10 15:55:57 2010] [error] [client 127.0.0.1] PHP Warning: rename(C:\\wamp\\tmp\\phpFBC7.tmp,logs/logs.txt) [<a href='function.rename'>function.rename</a>]: No error in D:\\logsfortinet\\envoi.php on line 25, referer: http://127.0.0.1/logs/index.html
De plus, dans le répertoire logs, j'obtiens un fichier appelé comme il faut (logs.txt), mais vide (0 Ko).
Pourriez-vous m'aider svp ?
Merci à tous
Je suis sous Windows 7, avec WampServer 2.0i.
J'ai un problème avec le module d'upload de fichier.
Voici le code de mon formulaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Gestion des Logs Fortinet</title> </head> <body> <form id="fichier" name="fichier" method="post" action="envoi.php" ENCTYPE="multipart/form-data" > <div align="center"> <INPUT type=hidden name=MAX_FILE_SIZE VALUE=20480000> <br /> <INPUT name="fichier" type=file id="fichier"> <label></label> <p> <label>Date de la bascule (jj/mm/aaaa) : <input name="date" type="text" id="date" /> </label> <br /> <br /> <INPUT type=submit name="upload" value="Envoyer"> </p> </div> </form> </body> </html>
Et voici le code de l'upload :
<?php # Variables de test $_POST['date'] = "2010-05-04"; $date = $_POST['date']; #Upload et intégration du fichier $repertoireDestination = "logs/"; $nomDestination = "logs.txt"; // Pour raison de sécurité nous ajouterons aux fichiers // portant une extension .php .php3, l'extension .txt if (mb_eregi(".php", $nomDestination)) { $nomDestination .= ".txt"; } if (is_uploaded_file($_FILES["fichier"]["tmp_name"])) { if (file_exists($repertoireDestination.$nomDestination)) { rename($repertoireDestination.$nomDestination,$repertoireDestination."archive".date('dmYGi').".txt"); } if (rename($_FILES["fichier"]["tmp_name"], $repertoireDestination.$nomDestination)) { echo "Le fichier temporaire ".$_FILES["fichier"]["tmp_name"]. " a été déplacé vers ".$repertoireDestination.$nomDestination; } else { echo "Le déplacement du fichier temporaire a échoué". " vérifiez l'existence du répertoire ".$repertoireDestination; } } else { echo "Le fichier n'a pas été uploadé (trop gros ?)"; }
J'ai une erreur dans le log de Apache :
[Mon May 10 15:55:57 2010] [error] [client 127.0.0.1] PHP Warning: rename(C:\\wamp\\tmp\\phpFBC7.tmp,logs/logs.txt) [<a href='function.rename'>function.rename</a>]: No error in D:\\logsfortinet\\envoi.php on line 25, referer: http://127.0.0.1/logs/index.html
De plus, dans le répertoire logs, j'obtiens un fichier appelé comme il faut (logs.txt), mais vide (0 Ko).
Pourriez-vous m'aider svp ?
Merci à tous
A voir également:
- Rename PHP : No error
- Lupas rename - Télécharger - Gestion de fichiers
- A-pdf rename - Télécharger - PDF
- The rename - Télécharger - Gestion de fichiers
- A better finder rename - Télécharger - Divers Utilitaires
- Easy php - Télécharger - Divers Web & Internet
3 réponses
Bonjour,
Dans tes formulaires HTML, met des guillemets pour toutes les valeurs non numériques de tes attributs.... Des fois tu en met, d'autre fois non.
Dans tes formulaires HTML, met des guillemets pour toutes les valeurs non numériques de tes attributs.... Des fois tu en met, d'autre fois non.
Problème résolu :
Remplacer rename par move_uploaded_file();
Le nouveau code :
Remplacer rename par move_uploaded_file();
Le nouveau code :
<?php # Variables de test $_POST['date'] = "2010-05-04"; $date = $_POST['date']; #Upload et intégration du fichier $repertoireDestination = "logs/"; $nomDestination = "logs.txt"; // Pour raison de sécurité nous ajouterons aux fichiers // portant une extension .php .php3, l'extension .txt if (mb_eregi(".php", $nomDestination)) { $nomDestination .= ".txt"; } if (is_uploaded_file($_FILES["fichier"]["tmp_name"])) { if (file_exists($repertoireDestination.$nomDestination)) { rename($repertoireDestination.$nomDestination,$repertoireDestination."archive".date('dmYGi').".txt"); } if (move_uploaded_file($_FILES["fichier"]["tmp_name"],$repertoireDestination.$nomDestination)) { echo "Le fichier temporaire ".$_FILES["fichier"]["tmp_name"]. " a été déplacé vers ".$repertoireDestination.$nomDestination; } else { echo "Le déplacement du fichier temporaire a échoué". " vérifiez l'existence du répertoire ".$repertoireDestination; } } else { echo "Le fichier n'a pas été uploadé (trop gros ?)"; }