Autore Topic: Ottenere url dopo aver caricato una foto  (Letto 637 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Ottenere url dopo aver caricato una foto
« il: 16 Marzo 2015, 16:48:54 CET »
Salve a tutti!

Prima di tutto mi scuso per questo off topic, so che questo forum non è il più adatto per parlare di php ma in passato mi ha già aiutato molto!
Ciò che vorrei fare è caricare una foto (da php) ed "hostarla" su un sito internet, ottenere l'url di quell'immagine e salvare il link sul mio db MySql.
Per quanto riguarda l'inserimento di dati su un db so già che cosa fare.

Naturalmente tutto questo gira attorno ad un'app che sto creando che semplicemente fa il "download" di un immagine attraverso un url e lo gestisce come se fosse una locandina pubblicitaria,cioè la puoi zommare per vederla meglio.

Avete qualche suggerimento?

Grazie mille in anticipo e spero di essere stato chiaro

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Ottenere url dopo aver caricato una foto
« Risposta #1 il: 16 Marzo 2015, 17:17:12 CET »
E come la carichi la foto?
Se la mia risposta ti è utile, per favore un thanks!

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Ottenere url dopo aver caricato una foto
« Risposta #2 il: 16 Marzo 2015, 17:21:27 CET »
pensavo di caricarla dalla pagina php

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Ottenere url dopo aver caricato una foto
« Risposta #3 il: 16 Marzo 2015, 17:26:07 CET »
Questo mi era chiaro, ma come?
Con POST?
Se la mia risposta ti è utile, per favore un thanks!

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Ottenere url dopo aver caricato una foto
« Risposta #4 il: 18 Marzo 2015, 12:19:52 CET »
Si pensavo di farlo con un POST

(Scusa il ritardo della risposta)

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Ottenere url dopo aver caricato una foto
« Risposta #5 il: 18 Marzo 2015, 13:39:32 CET »
Allora hai già tutto.
1) la pagina php riceve l'immagine con POST
2) la sposta nella directory corretta (lo sai tu dove deve andare, a.e. /images)
3) inserisce nel db i dati necessari.

Ora l'url dell'immagine sarà semplicemente (ipotizzando directory /images al punto 2 precdente): http : / / dominio/images/nomefileimmagine

Quindi, considerato che sei tu a fare la pagina php e l'app non è nemmeno necessario che la pagina php ti restituisca l'url, dato che già conosci tutti i dati necessari per raggiungerla.
Se la mia risposta ti è utile, per favore un thanks!

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Ottenere url dopo aver caricato una foto
« Risposta #6 il: 18 Marzo 2015, 14:01:06 CET »
Capisco!

Grazie mille!

Provo e vedo se va tutto bene

Post unito: 19 Marzo 2015, 10:49:29 CET
allora questo è il php che uso per caricare la mia immagine:
Codice: [Seleziona]
if(isset($_POST['submit'])){
 
if(is_uploaded_file($_FILES['filename']['tmp_name'])){
 
        $maxsize=$_POST['MAX_FILE_SIZE'];               
        $size=$_FILES['filename']['size'];
 
        // getting the image info..
        $imgdetails = getimagesize($_FILES['filename']['tmp_name']);
        $mime_type = $imgdetails['mime'];
 
        // checking for valid image type
        if(($mime_type=='image/jpeg')||($mime_type=='image/gif')){
          // checking for size again
          if($size<$maxsize){
            $filename=$_FILES['filename']['name'];       
            $imgData =addslashes (file_get_contents($_FILES['filename']['tmp_name']));
                }else{
            echo "<font class='error'>L'immagine è troppo grande. Errore nel caricamento</font>";
                }
        }else{
          echo "<font class='error'>Formato immagine non valida, perfavore una un .jpg o un .gif.</font>";
        }
        }else{                       
  switch($_FILES['filename']['error']){
        case 0: //no error; possible file attack!
          echo "<font class='error'>Si è verificato un problema con il caricamento.</font>";
          break;
        case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
          echo "<font class='error'>Stai cercando di caricare un file troppo grande.</font>";
          break;
        case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
          echo "<font class='error'>Stai cercando di caricare un file troppo grande.</font>";
          break;
        case 3: //uploaded file was only partially uploaded
          echo "<font class='error'>Il file che hai cercato di caricare è stato caricato solo parzialmente.</font>";
          break;
        case 4: //no file was uploaded
          echo "<font class='error'>Devi selezionare un'immagine da caricare!.</font>";
          break;
        default: //a default error, just in case!
          echo "<font class='error'>Si è verificato un problema con il caricamento.</font>";
          break;
  }               
}       

a me sfugge completamente come faccio a dirgli di inserire questa immagine nella cartella che voglio io
« Ultima modifica: 19 Marzo 2015, 10:49:29 CET da ValerioAdo, Reason: Merged DoublePost »

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Ottenere url dopo aver caricato una foto
« Risposta #7 il: 19 Marzo 2015, 14:18:40 CET »
Semplicemente in quella parte di codice non c'è la riga che mette l'immagine dove deve stare, ne manca un pezzo!
Se la mia risposta ti è utile, per favore un thanks!

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Ottenere url dopo aver caricato una foto
« Risposta #8 il: 19 Marzo 2015, 14:31:59 CET »
Si infatti ho risolto ^^
Codice: [Seleziona]
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

ora non mi resta che provare con il php online :D

grazie mille!