Donc, fondamentalement, j'ai un site dans lequel certains membres sont autorisés à télécharger des images (pages de bande dessinée) à leurs propres galeries d'images (à une bande dessinée spécifique). J'ai un script de téléchargement d'images réussi que j'ai utilisé pour télécharger des images de profil/avatar pour chaque membre, mais maintenant que je veux télécharger des fichiers à un endroit plus précis, j'ai un peu de mal.Utilisateur téléchargeant des images à des répertoires spécifiques
Voici ce que j'ai jusqu'à présent:
(C'est ce qui apparaît en haut de la page)
<?php
session_start();
$toplinks = "";
if (isset($_SESSION['id'])) {
// Put stored session variables into local php variable
$userid = $_SESSION['id'];
$username = $_SESSION['username'];
$toplinks = '<a href="member_profile.php?id=' . $userid . '">' . $username . '</a> •
<a href="member_account.php">Account</a> •
<a href="logout.php">Log Out</a>';
} else {
$toplinks = '<a href="join_form.php">Register</a> • <a href="login.php">Login</a>';
}
?>
(Ceci est le script de téléchargement)
<?php
// Here we run a login check
if (!isset($_SESSION['id'])) {
echo 'Please <a href="login.php">log in</a> to access your account';
exit();
}
// Place Session variable 'id' into local variable
$id = $_SESSION['id'];
// Process the form if it is submitted
if ($_FILES['uploadedfile']['tmp_name'] != "") {
// Run error handling on the file
// Set Max file size limit to somewhere around 120kb
$maxfilesize = 400000;
// Check file size, if too large exit and tell them why
if($_FILES['uploadedfile']['size'] > $maxfilesize) {
echo "<br /><br />Your image was too large. Must be 400kb or less, please<br /><br />
<a href=\"upload_comic.php\">click here</a> to try again";
unlink($_FILES['uploadedfile']['tmp_name']);
exit();
// Check file extension to see if it is .jpg or .gif, if not exit and tell them why
} else if (!preg_match("/\.(gif|jpg|png)$/i", $_FILES['uploadedfile']['name'])) {
echo "<br /><br />Your image was not .gif, .jpg, or .png and it must be one of those three formats.<br />
<a href=\"upload_comic.php\">click here</a> to try again";
unlink($_FILES['uploadedfile']['tmp_name']);
exit();
// If no errors on the file process it and upload to server
} else {
// Rename the pic
$newname = ""; //numbers only, so they show up sequentially
// Set the direntory for where to upload it, use the member id to hit their folder
// Upload the file
if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], "comics/$comicid/".$newname)) {
echo "Success, the image has been uploaded and will display to visitors!<br /><br />
<a href=\"member_account.php\">Click here</a> to return to your profile edit area";
exit();
} else {
echo "There was an error uploading the file, please try again. If it continually fails, contact us by email. <br /><br />
<a href=\"member_account.php\">Click here</a> to return to your profile edit area";
exit();
}
} // close else after file error checks
} // close if post the form
?>
Idéalement, Je voudrais être en mesure de télécharger une image comme ceci: comics/comic_id/chapter_id/uploaded_file.extension
Avec l'uploader d'images de profil utilisateur, j'ai pu récupérer le $ ID de la variable $ _Session ['id'], mais avec les bandes dessinées, je ne sais pas vraiment comment saisir cette information et l'utiliser pour définir le répertoire comic_id (chapter_id sera sélectionné sur le formulaire, donc je ne suis pas trop inquiet pour celui-ci).
Des pensées?
Je ne suis pas sûr de ce que vous demandez. Je présume que vous voulez voir combien de fichiers numérotés séquentiellement sont dans leur dossier, donnez-lui l'ID suivant dans l'ordre? Vous devriez également leur donner l'option d'écraser un fichier existant, non? –
Oui. Je ne suis pas trop inquiet à propos de cette partie, je suis plus préoccupé par l'obtention de mes chemins de répertoire dans l'ordre. Ce n'est probablement pas difficile à faire, je ne sais pas comment s'y prendre. – TalesStudio