Erreurs wamp
- Accueil
- Forum
- Programmation
- PHP
- Erreurs wamp
Profil introuvable Le 31 août 2016 à 14:49 (Édité le 25 janvier 2019 à 17:52)
De l'aide !
Erreurs de wamp :
Warning: move_uploaded_file(docs/Z Fire?Tous(31/08/2016)gLYnGpuDonGfk0k.zip): failed to open stream: No
such file or directory in C:\wamp\www\transload\espaceMembres\upload.php
on line 26
Warning: move_uploaded_file(): Unable to move
'C:\wamp\tmp\php824B.tmp' to 'docs/Z Fire?Tous(31/08/2016)gLYnGpuDonGfk0k.zip' in
C:\wamp\www\transload\espaceMembres\upload.php on line 26
Fatal error: Call to undefined function prepare() in C:\wamp\www\transload\espaceMembres\upload.php on line 27Code php :
<?php
session_start();
if (isset($_SESSION['connect'])) {
$bdd = new PDO("mysql:host=127.0.0.1;dbname=mydbname;charset=utf8;", "username", "password");
if (isset($_POST['submit'])) {
if (!empty($_FILES['upload']['name']) AND !empty($_POST['title']) AND !empty($_POST['receveur'])) {
$title = htmlspecialchars($_POST['title']);
$receveur = $_POST['receveur'];
if($receveur != "Choisir le receveur") {
if ($_FILES['upload']['error'] == 0) {
if ($_FILES['upload']['size'] <= 2097152) {
$extensionsValides = array('zip');
$extensionsUpload = strtolower(substr(strrchr($_FILES['upload']['name'], '.'), 1));
$characts = 'abcdefghijklmnopqrstuvwxyz';
$characts .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$characts .= '1234567890';
$code_aleatoire = '';
for($i=0;$i < 15;$i++)
{
$code_aleatoire .= substr($characts,rand()%(strlen($characts)),1);
}
if (in_array($extensionsUpload, $extensionsValides)) {
$dateandtime = date('Y')."-".date('m')."-".date('d')." ".date('H').":".date('i').":".date('s');
$docname = $_SESSION['pseudo']."?".$receveur."(".date('d')."/".date('m')."/".date('Y').")".$code_aleatoire.".".$extensionsUpload;
$chemin = "docs/".$docname;
$résultat = move_uploaded_file($_FILES['upload']['tmp_name'], $chemin);
$req = prepare("INSERT INTO membres (envoyeur, receveur, titre, fichier, dateandtime) VALUES (:pseudo, :receveur, :title, :nomdoc, :dateandtime)");
$req->execute(array(
'pseudo' => $_SESSION['pseudo'],
'receveur' =>$receveur,
'title' => $title,
'nomdoc' => $docname,
'dateandtime' => $dateandtime,
));
$req->closeCursor();
$erreur = "Envoie du fichier réussi";
} else {
$erreur = "Vous devez placer vos fichiers dans<br />un dossier compréssé (zip)";
}
} else {
$erreur = "Votre document est trop lourd";
}
} else {
$erreur = "Une erreur est survenue. Veuillez réessayer";
}
} else {
$erreur = "Vous devez choisir un receveur valide";
}
} else {
$erreur = "Remplissez tous les champs avant de continuer";
}
}
?>
Code html :
<form method="POST" enctype="multipart/form-data">
<input type="text" name="title" placeholder="Titre du fichier" title="Le titre sera le nom su fichier après téléchargement" /><br /><br />
<select name="receveur">
<option disabled="disabled" selected="selected">Choisir le receveur</option>
<option value="Tous">Envoyer à tous</option>
<?php
$req = $bdd->prepare("SELECT pseudo, grade FROM membres WHERE pseudo != ?");
$req->execute(array($_SESSION['pseudo']));
while ($m = $req->fetch()) {
echo "<option value='".$m['pseudo']."'>".$m['pseudo']." (".$m['grade'].")</option>";
}
?>
</select><br /><br />
<input type="file" name="upload" /><br /><br />
<input type="submit" value="Envoyer le fichier" name="submit" />
</form>
Arthel Le 1 septembre 2016 à 09:56 (Édité le 1 janvier 1970 à 01:00)
Peut tu me faire un schéma de ta base de données pour que je puis voir le problème sur mon local a moi stp?
Profil introuvable Le 1 septembre 2016 à 10:43 (Édité le 1 janvier 1970 à 01:00)
Si cela t'intéresse, voici le code que j'utilise à présent :
PHP :
<?php
session_start();
if (isset($_SESSION['connect'])) {
$bdd = new PDO("mysql:host=127.0.0.1;dbname=mydbname;charset=utf8;", "username", "password");
if (isset($_POST['submit'])) {
if (!empty($_FILES['upload']['name']) AND !empty($_POST['title']) AND !empty($_POST['receveur'])) {
if ($_FILES['upload']['error'] == 0) {
if ($_FILES['upload']['size'] <= 2097152) {
$extensionsValides = array('zip');
$extensionsUpload = strtolower(substr(strrchr($_FILES['upload']['name'], '.'), 1));
$characts = 'abcdefghijklmnopqrstuvwxyz';
$characts .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$characts .= '1234567890';
$code_aleatoire = '';
for($i=0;$i < 9;$i++)
{
$code_aleatoire .= substr($characts,rand()%(strlen($characts)),1);
}
if (in_array($extensionsUpload, $extensionsValides)) {
require('recaptcha/autoload.php');
if (isset($_POST['g-recaptcha-response'])) {
$recaptcha = new \ReCaptcha\ReCaptcha('clé_secrète');
$resp = $recaptcha->verify($_POST['g-recaptcha-response']);
if ($resp->isSuccess()) {
echo "Captcha valide";
$titre = htmlspecialchars($_POST['title']);
$receveur = htmlspecialchars($_POST['receveur']);
$filename = $_SESSION['pseudo']." vers ".$receveur."_".$code_aleatoire."(".date('d').", ".date('m').", ".date('Y').")";
$chemin = "docs/".$filename.".".$extensionsUpload;
$résultat = move_uploaded_file($_FILES['upload']['tmp_name'], $chemin);
} else {
$errors = $resp->getErrorCodes();
$erreur = "Captcha invalide";
}
} else {
$erreur = "Remplissez le captcha avant de valider";
}
}
} else {
$erreur = "Votre document est trop lourd !<br />Taille max : 2Mo";
}
}
} else {
$erreur = "Une erreur est survenue. Veuillez réessayer";
}
}
?>
HTML :
<!DOCTYPE html>
<html>
<head>
<title><?php echo $_SESSION['pseudo']; ?> - Upload | Transload</title>
<link rel="icon" type="image/png" href="logo.png" />
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<link rel="stylesheet" type="text/css" href="../styleGeneral.css" />
<link rel="stylesheet" type="text/css" href="style-upload-download.css" />
<meta charset="utf-8" />
</head>
<body>
<header>
<a name="hautDePage">
<ul class="menu">
<li><a href="download.php">Documents reçus</a></li>
<li><a href="#">Envoyer des docduments</a></li>
</ul>
</a>
</header>
<h3><span class="entypo-upload"></span> Envoyez vos fichiers</h3>
<form method="POST" enctype="multipart/form-data">
<input type="text" name="title" placeholder="Titre du fichier" title="Le titre sera le nom su fichier aprés téléchargement" />
<br /><br />
<select name="receveur">
<option>Z Fire</option>
</select>
<br />
<br />
<input type="file" name="upload" />
<br /><br />
<div class="g-recaptcha" data-sitekey="clé_du_site"></div>
<br/>
<input type="submit" value="Valider" name="submit">
</form>
<?php
if (isset($erreur)) {
echo "<font color='red'>".$erreur."<font>";
}
echo "<br />";
if (isset($errors)) {
var_dump($errors);
}
?>
</body>
</html>
Je travaille encore dessus et je n'ai pas fait la requête prepare("INSERT INTO") mais mes documents se téléversent bien sur mon site.
Merci de m'avoir répondu si vite.
Z Fire