Tous,en utilisant un script PHP pour enregistrer un fichier image dans localhost - ne fonctionnera pas
J'ai suivi le lien ci-dessous pour travailler PHP sur mon MacBook Pro (OS 10.12.6). J'obtiens même le phpinfo apparaître quand j'utilise http://localhost/~USERNAME/phpinfo.php. ~ USERNAME est remplacé par mon vrai nom d'utilisateur.
Toutefois, lorsque je crée un nouveau projet dans WebStorm (2016.3.1) et que j'utilise le code HTML et PHP ci-dessous ... Je rencontre des problèmes. Mon but est d'avoir un bouton de saisie de téléchargement afin qu'un utilisateur puisse télécharger une image dans mon dossier de transit localhost. Cependant, lors de l'exécution de mon index.html dans WebStorm, le fichier upload.php est téléchargé dans mes dossiers de téléchargement. Et mon fichier choisi dans l'élément d'entrée ne le fait jamais dans le dossier intermédiaire.
FYI, j'ai modifié mon php.ini local pour inclure les entrées ci-dessous. J'ai ensuite redémarré apache2 (via sudo apachectl restart).
Est-ce que vous pourriez savoir ce que je fais? Merci pour toute aide.
LINK à PHP d'installation sur MAC
https://ole.michelsen.dk/blog/setup-local-web-server-apache-php- osx-yosemite.html
HTML
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
PHP
<?php
$uploaddir = 'staging/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
?>
PHP.INI
file_uploads = on
post_max_size = 40M
upload_max_filesize = 40M
post_max_size = 40M
max_execution_time : 6000
max_input_time : 6000
memory_limit : 128M
Vous avez probablement le rapport d'erreurs de PHP désactivé. Même ainsi, vous auriez probablement trouvé la réponse que @RiggsFolly vous a donné si vous avez consulté le journal des erreurs Apaches (la prochaine fois!) :) –
Avez-vous une suggestion à regarder les journaux. J'ai regardé dans/var/log/apache2 et renommé le error_log et le access_log. Cependant, un nouveau fichier error_log n'a pas été créé après avoir essayé d'exécuter mon site. –
Ajoutez ces deux lignes au premier fichier PHP que votre projet appelle (index.php, etc). Il n'a pas besoin d'être présent dans chaque fichier, juste appelé une seule fois avant que le reste de votre code ne s'exécute: 'ini_set ('display_errors', 1); error_reporting (E_ALL); 'cela mettra juste les erreurs sur votre écran qui est encore plus facile pour vos besoins. –