today I have a small problem I begin in php and I try to make a system to put online a file on my server. And when I put my file it dirt me that it does not manage to move it. It's a big problem for me and I would like to know if someone can help me :)
You can try it on https://lyrics.karibsen.fr/
My code html :
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Genius upload</title>
<link href="index.css" rel="stylesheet" type="text/css">
</head>
<script>
function handleFiles(files) {
var imageType = /^image\//;
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!imageType.test(file.type)) {
alert("Ce fichier n'est pas considèrer comme une image");
}else{
if(i == 0){
preview.innerHTML = '';
}
var img = document.createElement("img");
img.classList.add("obj");
img.file = file;
preview.appendChild(img);
var reader = new FileReader();
reader.onload = ( function(aImg) {
return function(e) {
aImg.src = e.target.result;
};
})(img);
reader.readAsDataURL(file);
}
}
}
</script>
<body>
<form id="gaia_loginform" action="index.php" method="post" _lpchecked="1">
<center>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<table>
<tr>
<td><textarea style="resize: none;" name="nom" id="nom" max="50" type="text" autocomplete="off" placeholder="Titre"></textarea></td>
<td><textarea style="resize: none;" name="artiste" id="artiste" type="text" autocomplete="off"></textarea></td>
<td><input type="file" onchange="handleFiles(files)" name="fileToUpload" id="file-upload" class="inputfile"/></td>
<td>Aperçu de l'image:<div><label for="upload"><span id="preview"></span></label></div></td>
</tr>
</center>
<center>
<tr>
<td><textarea style="resize: none;" name="parole" id="parole" type="text" autocomplete="off" placeholder="Parole"></textarea></td>
</tr>
</table>
<input type="submit" value="Envoyer l'image" name="submit">
</form>
</body>
</center>
</html>
My code php :
<?php
$nom = $_POST['nom'];
$artiste = $_POST['artiste'];
$parole = $_POST['parole'];
$nom = $nom.$artiste;
if (is_dir($nom)) {
echo 'Le répertoire existe déjà!';
}
else {
$name = str_replace(" ", "", $nom);
mkdir($name); //je cree le dossier
echo '1 ';
$target_dir = './'.$name; //je met le dossier a cibler
echo $target_dir;
echo ' 2 ';
$target_file = $target_dir.basename($_FILES["fileToUpload"]["tmp_name"]); //ca decte le fichier a cible
echo ' 3 ';
echo $target_file;
$uploadOk = 1;
echo ' 4 ';
echo ' 5 ';
echo $_FILES["fileToUpload"]["tmp_name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$myfile = fopen("$name/$name.html", "w") or die("Unable to open file!");
$txt = "
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>$artiste - $nom</title>
$img
<br><br><br>
<center>$parole</center>
</head>
<body>
</body>
</html>";
fwrite($myfile, $txt);
fclose($myfile);
header('Location: https://lyrics.karibsen.fr/'.$name.'/'.$name.'.html');
exit();
} else {
header('Location: https://lyrics.karibsen.fr/');
exit();
}
}
?>