Upload immagini senza form

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve come da titolo vorrei inviare delle immagini ad una cartella senza l'utilizzo dei form.

I parametri mi arrivano in questo modo:

"file" (il file trasmesso) e "fileName" (il nome del file)

Ora ho scritto questo in php:
PHP:
$directory = '/..."url della cartella';
         // verifica l'esistenza del file

    $file_temporaneo= $_FILES['file']['tmp_name'];
    $nome_file = $_FILES['file']['fileName'];
        //esegue l'upload e controlla che vada a buon fine
    if (move_uploaded_file($file_temporaneo, $directory  . $nome_file)){
        echo "";
    } else {
        echo "Si è verificato un errore durante l'upload";
    }

Ma logicamente non viene inviato nessun form, quindi non può prelevare i parametri.

Qualche aiuto?
 
In pratica queste sono le specifiche di questo software:

L'invio delle immagini in modalità HTTP avverrà con un post per ciascun file trasmesso in modalità Content-type "multipart/form-data" contenente due parametri: "file" (il file trasmesso) e "fileName" (il nome del file).

Quindi come prelevo questi file?

Grazie
 
No, in pratica questo software crea automaticamente un form per ogni immagine inviata.
Cioè io clicco su aggiorna immagini e nella pagina che riceve dovrei prelevare i dati delle immagini e spostarli in una cartella, solo che non riesco a prelevare il nome dell'immagine.

Grazie
 
No, in pratica questo software crea automaticamente un form per ogni immagine inviata.
Cioè io clicco su aggiorna immagini e nella pagina che riceve dovrei prelevare i dati delle immagini e spostarli in una cartella, solo che non riesco a prelevare il nome dell'immagine.

Grazie

Quindi se invii 100 immagini il software ti crea 100 form? Non credo. Se spieghi meglio la situazione possiamo vedere di trovare la soluzione più adatta.
 
Grazie per il tuo aiuto, allora vai a questo indirizzo, ed a fondo pagina è spiegata la trasmissione delle immagini.

danea

Ti prego non ci sto capendo più niente.

Grazie
 
aspetta che forse vedo la luce in fondo al tunnel. Tu stai preparando un e-commerce o un listino on-line che vuoi interfacciare con il tuo software gestionale. Giusto? Se si, stai utilizzando un CMS o si tratta di codice nativo?
 
Ultima modifica:
Teoricamente da quanto ho capito tu hai un file XML caricato sul tuo webserver:

prodotti.xml

Codice:
<Product>
<InternalID>16</InternalID>
<Code>0016</Code>
<Description>Armadio Alto funzionalità a giorno</Description>
<Category>Complementi d'arredo</Category>
<Subcategory>Mobile</Subcategory>
<Vat>20</Vat>
<Um>pz</Um>
<NetPrice1>105</NetPrice1>
<NetPrice2>85</NetPrice2>
<GrossPrice1>126</GrossPrice1>
<GrossPrice2>102</GrossPrice2>
<Barcode>AR</Barcode>
<SupplierCode>0054</SupplierCode>
<SupplierName>Il Mio Ufficio</SupplierName>
<SupplierProductCode>52-715-7845</SupplierProductCode>
<SupplierNetPrice>63</SupplierNetPrice>
<SupplierGrossPrice>75.6</SupplierGrossPrice>
<ProducerName>WoodThings</ProducerName>
<WarehouseLocation>Magazzino1</WarehouseLocation>
<Link>http://www.arredamenti.it/catalog?cod=52-715-7845</Link>
<SizeUm>cm</SizeUm>
<NetSizeX>90</NetSizeX>
<NetSizeY>133</NetSizeY>
<NetSizeZ>45</NetSizeZ>
<PackingSizeX>112.5</PackingSizeX>
<PackingSizeY>145</PackingSizeY>
<PackingSizeZ>50.7</PackingSizeZ>
<WeightUm>kg</WeightUm>
<NetWeight>4.5</NetWeight>
<GrossWeight>6</GrossWeight>
<ManageWarehouse>true</ManageWarehouse>
<MinStock>2</MinStock>
<AvailableQty>1</AvailableQty>
<OrderedQty>2</OrderedQty>
<CustomField2>5 Anni</CustomField2>
<CustomField3>Media</CustomField3>
<Notes>Versione di colore: Grigio, Acero, Struttura acero e profili in PVC color Grigio.</Notes>
<ImageFileName>15447.jpg</ImageFileName>
</Product>

e devi prelevare i dati che invii da danea easyfatt sul sito. Il file per la ricezione è questo:
ricezione.php
PHP:
<?php
if (move_uploaded_file ($HTTP_POST_FILES['file']['tmp_name'], "prodotti.xml")){
echo "CARICAMENTO COMPLETATO";
 } else {
 echo "ERRORE NEL CARICAMENTO DEI DATI.";
 }
?>

praticamente da quanto ho capito della guida di easyfatt, devi avere questi due file caricati in un percorso specifico sul webserver, poi da danea easyfatt vai a specificare i dati e poi dovrebbe essere tutto automatizzato.
 
Esatto, ma per il caricamento dei dati è tutto ok, riesco a prelevare tutti i dati e manipolarli, il problema sono le immagini, io come descritto nelle pecifiche ho fatto questo per automatizzare il caricamento delle immagini:

PHP:
 if (move_uploaded_file ($HTTP_POST_FILES['file']['tmp_name'], "articoli.xml")){
 echo "OK\n";
echo "ImageSendURL=../mio_sito/uploadImages.php";
 } else {
 echo "Error";
 }

Mentre il file uploadImmagini.php
PHP:
  $directory = '/..mio_sito/images/';
         // verifica l'esistenza del file

		//esegue l'upload e controlla che vada a buon fine
    if (!move_uploaded_file($_FILES['fileName']['tmp_name'], $directory.$_FILES['fileName']['name'])) {
      echo "<p>Errore nel caricamento dell'immagine!!</p>";
    }

In questo mdo mi parte il caricamento, però a metà strada si ferma e mi da l'errore.

Non riesco ad arrivarci:dipser:

Grazie
 
ciao, mi potresti spedire i file? Voglio fare un paio di prove per capire dov'è l'eventuale errore di programmazione, anche se credo sia un problema di settaggi.
 
Ultima modifica:
Ti ripeto, non è un'errore di programmazione, perchè gestisco tranquillamente i nodi del file xml, ma solo di upload di immagini, però ho risolto in un'altro modo, l'invio tramite ftp automatico messo a disposizione sempre dall'azienda e descritto nelle specifiche.
Però ci son rimasto male che non riesco ad inviare le immagini tramite http.
La vedo come una sconfitta:incazz2:

Grazie:D
 

Discussioni simili