Newsgroup: it.comp.www.php
Titolo: Problemi di Upload su machina win

 
          Salve ragazzi.
A causa di alcuni "motivi astrali" che non sto qui a spiegare, sto
sviluppando un sito sul mio pc win (sul quale girano apache2... e php4.3.8),
anche se poi lo andrò a pubblicare su un server linux.
Lo script per gli upload che utilizzo è molto simile a quelli, funzionanti,
che ho sempre utilizzato in passato... e quindi sono certo che funziona.
Per sicurezza vi riporto il codice:
--------------------------
$ext = strtolower(substr(strrchr($HTTP_POST_FILES['foto']['name'],'.'), 1));
	$file_du['name'] = "$id_confezione.$ext";
	$file_du['size'] = $HTTP_POST_FILES['foto']['size'];
	$file_du['tmp_name'] = $HTTP_POST_FILES['foto']['tmp_name'];
 
 
    	if (strtoupper($ext)=="GIF" || strtoupper($ext)=="JPG")
    	{
		$dir_name = "/upload/confezioni/";
		if (!move_uploaded_file($file_du['tmp_name'], $dir_name.$file_du['name'];))
		{
			// gestione dell'errore
		}
		else
		{
			// istruzione per l'inserimento nel db
		}
	}
	else
	{
			// gestione dell'errore
	}
--------------------
La cosa fondamentale è che, comunque, non riesco ad uploadare i file (jpg di
piccole dimensioni.. un paio di kilobyte al massimo)..
Gli errori sono i classici che mi da quando non è riuscito ad effettuare
l'upload (e quindi di conseguenza mi dice che non è riuscito a trovare il
file nella cartella temporanea per spostarlo in quella di destinazione
definitiva):
--------------------
Warning: move_uploaded_file(/upload/confezioni/14.jpg): failed to open
stream: No such file or directory in
D:\www\mysite_pp\amministrazione\aggiungi_foto_confezioni.php on line 24
Warning: move_uploaded_file(): Unable to move 'c:\tmp\php213.tmp' to
'/upload/confezioni/14.jpg' in
D:\www\mysite_pp\amministrazione\aggiungi_foto_confezioni.php on line 24
--------------------
Ho impostato la cartella temporanea per gli upload e ho controllato che
siano attivi nel php.ini (ovviamente riavviando apache ogni volta)... la
cartella in questione ha i permessi di scrittura da chiunque abilitati..
come la cartella di destinzazione.. ho provato addirittura a condividerle
(dando full access all'utente everyone)...
Non so proprio più cosa fare..
Vi ringrazio in anticipo per l'attenzione.
Paydj
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Non so proprio piy cosa fare..
Prova con:
$dir_name = "C:/Inetpub/wwwroot/upload/confezioni/";
poi, se funziona, modificalo in modo che sia "dinamico" rispetto alle
tue necessita' (es. utilizza: dirname (__FILE__) .
'/../upload/confezioni' per avere un path relativo alla posizione dello
script corrente).
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

                    Il 30 Set 2004, 20:13, "Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha
scritto:

Ovviamente non ho usato la cartella che hai detto tu, ma una nel mio sito..
in ogni modo ti ringrazio un sacco perchè il problema è effettivamente
quello che bisogna dare al server una path fisica e completa (e non virtuale
o relativa) per l'upoload...
Quindi la soluzione migliore, nel caso in cui qualcun altro avesse il mio
stesso problema, è fare
---
$dir_name = $_SERVER["DOCUMENT_ROOT"]."/upload/confezioni/";
---
dato che la veriabile utilizzata contiene il percorso fisico...
Spero sia utile.
Ciao


 $dir_name = $_SERVER["DOCUMENT_ROOT"]."/upload/confezioni/";
Stai attento che $_SERVER["DOCUMENT_ROOT"] non viene valorizzata da
tutti i web server.
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.