Problema gestione immagini in PHP

[email protected]

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:

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
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.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
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>
 

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
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?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
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){....
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
È 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.
 

[email protected]

Nuovo Utente
2 Mar 2013
25
0
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.

Togliendo il tag HTML e BODY,stampa tutto il codice PHP che ho scritto...
Altre proposte xD
 

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
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