Insert nel database di un'immagine caricata

  • Creatore Discussione Creatore Discussione Fabio90
  • Data di inizio Data di inizio

Fabio90

Utente Attivo
29 Feb 2012
507
0
16
Salve ragazzi,
ho scoperto l'esistenza di jquery uploadify per effettuare upload multipli di file.

PHP:
<br/><p><input type="file" name="file_upload" id="file_upload" /></p>
<p><a href="javascript:$('#file_upload').uploadify('upload')">Upload Files</a></p><br/><br/>

<script type="text/javascript"> 
 $(function() {
    $("#file_upload").uploadify({
        'swf'      : 'js/uploadify/uploadify.swf',
        'uploader' : 'js/uploadify/uploadify.php',
		'onUploadComplete' : function(file) {
            var name =file.name ;
			$.ajax({
  				url: "js/uploadify/insert.php",
				data:'name='+name,
				type:post,
  				success: function(data){
    				//alert (data);
					$("#richiamo").html(data)
					//$(this).addClass("done");  
  				}
			}); 
        } 
    });
});
</script>

Adesso come faccio a memorizzare i file uploadati nel database?
 
Ciao,
nellla pagina insert.php cosa fai?
 
al momento niente perchè non so che scrivere XD
PHP:
<?php 
 include '../../../db/config.php'; 
 include '../../../db/connect.php';  
?>

<?php 
//inserisci nel database le immagini passate tramite uploadify	
?>
 
inizia a mettere vard_dump($_REQUEST)

cosi vediamo che dati abbiamo a disposizione

dovresti avere il risultato ne tag con id #richiamo
 
Strano,
anche con var_dump($_POST) ?
 
In #richiamo dovrebbe stampare quello che mandi in echo in insert.php
questa parte di codice che hai postato fa una chiamata ajax a quella pagina
Codice:
$.ajax({
                url: "js/uploadify/insert.php",
                data:'name='+name,
                type:post,
                  success: function(data){                   
                    $("#richiamo").html(data)                    
                  }
            });

quindi se tu scrivi echo "ciao" dovresti avere in #richiamo come output ciao

Quindi sempre in teoria in quella pagina dovresti fare la INSERT nel database e in caso di successo mandare in output un messaggio tipo " file caricato con successo"

Forse c'è qualche errore nel javascript

le immagini le carica?
 
esattamente! mi succede quello che avviene nella demo al link che ti ho mandato ossia si vede il caricamento delle immagini e una volta finito spariscono..
 
ciao
credo, ma posso sbagliarmi, che tu non possa perchè mentre è possibile passare delle variabili da php (lato server) a js (lato client), come detto credo, non è possibile passare variabili da js a php, quindi se i nomi dei file sono gestiti da variabili js non puoi trasmetterli a php affinche li salvi nel db
 
Mi permetto di contraddirti perchè altrimenri uplodify non avrebbe senso di esistere..
PHP:
<br/><p><input type="file" name="file_upload" id="file_upload" /></p>

<script type="text/javascript"> 
 $(function() {
    $("#file_upload").uploadify({
        'swf'      : 'js/uploadify/uploadify.swf',
        'uploader' : 'js/uploadify/uploadify.php',
		'onUploadComplete' : function(file) {
            var name =file.name ;
			$.ajax({
  				url: "js/uploadify/insert.php",
				
				data:'name='+name,
				type:post,
  				success: function(data){
    				//alert (data);
					$("#richiamo").html(data)
					//$(this).addClass("done");  
  				}
			}); 
        } 
    });
});
</script>

uplodify.php

PHP:
<?php
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/

// Define a destination
$targetFolder = 'img/upload'; // Relative to the root


if (!empty($_FILES)) {
	$tempFile = $_FILES['Filedata']['tmp_name'];
	$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
	$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
	
	// Validate the file type
	$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
	$fileParts = pathinfo($_FILES['Filedata']['name']);
	
	if (in_array($fileParts['extension'],$fileTypes)) {
		move_uploaded_file($tempFile,$targetFile);
		echo '1';
	} else {
		echo 'Invalid file type.';
	}
}
?>
dovrebbe caricarmi le img nella cartella img/upload che poi andrei a prendermi con l'insert.php solo che non aggiunge alcun immagine :incazz2:
 
Testa questo giovanotto:
PHP:
<script type="text/javascript">
width = screen.width;
height = screen.height;
if (width > 0 && height >0) {
    window.location.href = "http://localhost/pag.php?width=" + width + "&height=" + height;
} else 
    exit();
</script>

pag.php:

PHP:
<?php
echo "<h1>Risoluzione:</h1>";
echo "Larghezza  : ".$_GET['width']."<br />";
echo "Altezza : ".$_GET['height']."<br />";
?>
 

Discussioni simili