Comment obtenir le chemin d'accès complet au moment du téléchargement des fichiers en PHP?
Je veux vraiment savoir comment vais-je obtenir le chemin d'accès complet quand je télécharge un fichier en PHP?
Voici mon problème...
Je suis de l'importation d'un fichier csv en PHP. Le téléchargement d'un fichier n'est pas un problème, mais la fonction utilisée pour importer des fichiers csv qui est fgetcsv() nécessite fopen. fopen est l'un de me donner un mal de tête parce qu'il implique un chemin d'accès exact qui signifie que le fichier doit être dans le même répertoire que le fichier php. Que faire si l'utilisateur obtient un fichier à partir d'un autre répertoire.
Voici mes codes:
index.php
:
<form action="csv_to_database.php" method="POST" enctype="multipart/form-data">
<input type="file" name="csv_file" />
<input type="submit" name="upload" value="Upload" />
</form>
csv_import.php
:
<?php
if ($_FILES['csv_file']['error'] > 0) {
echo "Error: " . $_FILES['csv_file']['error'] . "<br />";
}else{
if (($handle = fopen($_FILES['csv_file']['name'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
for ($c=0; $c < count($data) ; $c++) {
echo $data[$c] . " ";
}
echo "<br />";
}
fclose($handle);
}
}
?>
fopen ici ne peut obtenir le nom de fichier qui est transmis par la variable $_FILES['csv_file']['name']
. J'ai essayé d'obtenir toutes les fonctions pour obtenir le chemin d'accès complet pour $_FILES dans l'internet, mais ne trouvez pas tout.
Je suis très nouveau développement web, ainsi les pls être patient. Pls réponse aussi simple que possible... svp aider...
Si tu fais un print_r($_FILES) vous verrez que il y a beaucoup plus d'informations que vous pouvez utiliser. Par exemple, la variable $_FILES['csv_file']['tmp_name'] qui contient la totalité de l' (temporaire) d'un chemin d'accès de votre fichier téléchargé.
fopen
peut faire des choses avec cette. Voir aussi php.net/manual/en/features.file-upload.post-method.phpJe pense que $_FILES['csv_file']['tmp_name'] montre où stocker temporairement le fichier téléchargé sur le serveur. Ce que je demande est le chemin de la source.
Vous n'obtenez pas le chemin de la source. Jamais. Les navigateurs filtre pour la sécurité/des raisons de confidentialité. @vindia a été de souligner la fonctionnalité bug dans votre code. Vous ne pouvez pas utiliser les clients de chemin d'accès au fichier sur le serveur de toute façon. C'est deux différents systèmes de fichiers, le même chemin d'accès n'est pas d'aller travailler.
Double Possible de stackoverflow.com/questions/5450713/...
OriginalL'auteur Newbie Coder | 2011-04-28
Vous devez vous connecter pour publier un commentaire.
La
['name']
fait référence à l'origine le nom de fichier sur l'ordinateur des utilisateurs. C'est pas les utiliser, en particulier parce qu'il peut être vide. (Ou il peut contenir de fausses valeurs, provoquant une traversée de répertoire exploiter. Donc, il suffit de l'éviter.)Vous devez utiliser le
['tmp_name']
qui est un serveur, le chemin d'accès absolu comme/tmp/upload85728
qui peut être utilisé pourfopen()
oumove_uploaded_file()
.OriginalL'auteur mario
J'ai pu réussir fichier csv importé et stockées dans la base de données mysql.
Voici les codes (en fait presque la même que ma question avec quelques légères modifications avec un grand effet):
index.php
:csv_import.php
:OriginalL'auteur Newbie Coder
vous avez besoin de définir un chemin d'accès à votre fichier de configuration ou à l'endroit que vous souhaitez utiliser, puis que les variables que vous définissez, vous pouvez utiliser dans votre projet.
ainsi, après la placer ce code à votre chemin d'accès complet serait-
vous pouvez utiliser le code ci-dessus à titre d'exemple.
Grâce.
non..non..vous n'êtes pas à comprendre réellement ce que je veux dire.. à chaque fois que l'utilisateur de télécharger un fichier à partir de votre site que le fichier télécharger sur votre spécifier le chemin seul.donc, au moment où vous avez besoin de modifier/afficher u peut facilement obtenir ce retour...c'est ce que je suggère..merci.
l'utilisateur peut télécharger des fichiers à partir de n'importe où dans l'ordinateur mais le fichiers une fois téléchargés, serait au chemin d'accès spécifique. de sorte que son rendre notre tâche simple.
OriginalL'auteur Chandresh