Problema gestione immagini in PHP

  • Creatore Discussione Creatore Discussione Ppz@OdC
  • Data di inizio Data di inizio

Ppz@OdC

Nuovo Utente
2 Mar 2013
25
0
0
Ciao a tutti,da qualche mese programmo in PHP e adesso mi sono trovato un grosso ostacolo,vi vaccio vedere due codici,in è HTML che si occupa di acquisire l'immagine:

HTML:
<html>
<body>
<form action="Inserisci.php" enctype="multipart/form-data" method="post">
<input name="MAX_FILE_SIZE" type="hidden" value="1024000" />
<input id="file" name="file" type="file">
<input name="submit" type="submit" value="Carica" />
</form>
</body>
</html>

L'altro è il codice PHP che si occupa di controllare i parametri dell'immagine,e infine inserirla nella cartella che ho creato tramite questo script:

PHP:
$path="Gestione/ImmagineProfilo".$Nome.'_'.$Cognome; // Che dovrebbe creare una cartella del tipo documenti/pinco_pallino 
mkdir("$path",0777);


per ogni nuovo utente che si registra.

Mentre lo script del PHP è questo:

PHP:
<html>
<body>
<?php
if ($_FILES["file"]["size"] < 1024000){
if ($_FILES["file"]["error"] > 0){
echo "Codice Errore: " . $_FILES["file"]["error"]."";
}
else{
echo "Nome File: " . $_FILES["file"]["name"]."";
echo "Tipo File: " . $_FILES["file"]["type"] . "";
echo "Dimensione [byte]: " . $_FILES["file"]["size"] . "";
echo "Nome Temporaneo: " . $_FILES["file"]["tmp_name"] . "";
if (file_exists("upload/" . $_FILES["file"]["name"])){
echo "Il file " . $_FILES["file"]["name"] . " è già presente sul server";
}
else{
copy($_FILES["file"]["tmp_name"], "../Gestione/ImmagineProfilo/" . $_FILES["file"]["name"]);
echo "File caricato in: " . "../Gestione/ImmagineProfilo" . $_FILES["file"]["name"];
}
}
}
else{
echo "File troppo grande!!";
}
?>
</body>
</html>

Il problema è che non inserisce l'immagine nella cartella,ma ogni volta che clicco per mandare la mia immagine allo script PHP mi compare questa sequenza di istruzioni:



0){ echo "Codice Errore: " . $_FILES["file"]["error"].""; } else{ echo "Nome File: " . $_FILES["file"]["name"].""; echo "Tipo File: " . $_FILES["file"]["type"] . ""; echo "Dimensione [byte]: " . $_FILES["file"]["size"] . ""; echo "Nome Temporaneo: " . $_FILES["file"]["tmp_name"] . ""; if (file_exists("upload/" . $_FILES["file"]["name"])){ echo "Il file " . $_FILES["file"]["name"] . " è già presente sul server"; } else{ copy($_FILES["file"]["tmp_name"], "../Gestione/ImmagineProfilo/" . $_FILES["file"]["name"]); echo "File caricato in: " . "../Gestione/ImmagineProfilo" . $_FILES["file"]["name"]; } } } else{ echo "File troppo grande!!"; } ?>



Potete aiutarmi?
xD
 
Ultima modifica di un moderatore:
ciao
hai salvato la pag con estenzione .php?


Ciao,grazie per la risposta,tante volte è successo che avevo dei dubbi su alcune cose e cercavo soluzioni su google.it
tantissime volte mi è capitato di trovare le tue risposte xD
che sono sempre molto utili :)

Comunque si,il primo file è salvato .html
mentre il secondo .php

Alcuni mi hanno detto che forse è un problema con Apache visto che sto utilizzando XAMPP.
 
ciao
non uso XAMPP, quindi di preciso non so dirti.
comunque sembrerebbe che php non interpreti il codice da 0){.... sino a ....; } ?> trattandolo come se fosse dell'html.
l'ho provato (mettendo dei valori fittizi ai $_FILE) e non mi fa quell'effetto e visto così non sembrerebbe esserci niente che provoca tale effetto.
hai provato altri file php?
sei sicuro che prima di 0){ per sbaglio di non aver messo un ?> ?
non vorrei dire una pu.....ta ma fai una prova verifica il $_FILE

PHP:
<html>
<body>
<?php
if ($_FILES["file"]["size"] < 1024000){
var_dump($_FILES["file"]["error"]);//cosa riporta?
if ($_FILES["file"]["error"] > 0){
echo "Codice Errore: " . $_FILES["file"]["error"].""; 
//ecc....
?>
</body>
</html>
 
guarda.jpg
ciao
non uso XAMPP, quindi di preciso non so dirti.
comunque sembrerebbe che php non interpreti il codice da 0){.... sino a ....; } ?> trattandolo come se fosse dell'html.
l'ho provato (mettendo dei valori fittizi ai $_FILE) e non mi fa quell'effetto e visto così non sembrerebbe esserci niente che provoca tale effetto.
hai provato altri file php?
sei sicuro che prima di 0){ per sbaglio di non aver messo un ?> ?
non vorrei dire una pu.....ta ma fai una prova verifica il $_FILE

PHP:
<html>
<body>
<?php
if ($_FILES["file"]["size"] < 1024000){
var_dump($_FILES["file"]["error"]);//cosa riporta?
if ($_FILES["file"]["error"] > 0){
echo "Codice Errore: " . $_FILES["file"]["error"].""; 
//ecc....
?>
</body>
</html>

Guarda l'immagine che ho allegato,accanto ai file c'e quel'immaginetta,significa forse che non è salvato come php?
 
ciao
sembrerebbe php da tipo file php.
setta la visualizzazione delle estenzioni così vedi meglio.
però se non fosse php ti darebbe tutto il codice e non solo quello a partire da 0){....
 
È molto strano qualcosa del genere quindi proverei le soluzioni più disparate come per esempio togliere i tag di apertura e chiusura di HTML e BODY. Sarà anche una 'bazzaggianata' ma come ho già detto io proverei comunque :)
Prova a controllare il contenuto di $_FILES["file"]["error"]..non credo che se fosse un punto interrogativo si chiuderebbe il tag ma è li più o meno che si trova il problema visto che parte a stampare da poco dopo.
 
È molto strano qualcosa del genere quindi proverei le soluzioni più disparate come per esempio togliere i tag di apertura e chiusura di HTML e BODY. Sarà anche una 'bazzaggianata' ma come ho già detto io proverei comunque :)
Prova a controllare il contenuto di $_FILES["file"]["error"]..non credo che se fosse un punto interrogativo si chiuderebbe il tag ma è li più o meno che si trova il problema visto che parte a stampare da poco dopo.


Togliendo il tag HTML e BODY,stampa tutto il codice PHP che ho scritto...
Altre proposte xD
 
Si credo che solo quello può essere il problema ormai.
Entra in proprietà del file. Oppure 'mostra estensione'.
 
Si credo che solo quello può essere il problema ormai.
Entra in proprietà del file. Oppure 'mostra estensione'.



Ringrazio tutti,visto che ho risolto,il fatto è che da nabbo programmatore PHP che sono non richiamavo il file in questo modo localhost/nomefile.php
cosa che faccio con tutti i file php,ma lo avviavo direttamente :)
Quindi vi ringrazio che mi avete fatto pensare a questo tipo di errore :)
E mi dispiace per eventuale perdita di tempo xD
 

Discussioni simili