Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Bild uppladdning?

Skapad av Kulan, 2011-10-03 22:13 i Webbutveckling & Programmering

1 687
15 inlägg
1 poäng
Kulan
Visningsbild
P 27 Hjälte 540 inlägg
1
Tjenare Jag har en bild uppladdnings funktion men det är bara det att man kan ladda upp exakt vilken fil som helst på servern..

När jag skapar en "if" sats så blir det bara fel, vart ska jag ha den, och hur ska den se ut ? :(

kod:
Visa spoiler

<?php

include("connect.php");

$username = $_SESSION['username'];

if ($_POST['submit'])
{

// get file attributes
$name = $_FILES['myfile']['name'];
$tmp_name = $_FILES['myfile']['tmp_name'];


if($name)
{

//start Upload process
$location = "uploads/$name";
move_uploaded_file($tmp_name,$location);

$query = mysql_query("UPDATE member SET avatar='$location' WHERE username='$username'");

die("Your profile image has been uploaded!");

}
else
die("Please select a file!");
}

echo "Upload your Image";
?>
<html>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
File: <input type="file" name="myfile"> <input type="submit" name="submit" value="Upload">
</form>


någon som skulle vilja vara dunder schyst att kunna skriva den åt mig ? :( (if satsen)

yolo

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
När har du tidigast tillgång till filen och dens egenskaper?
Är det rimligt att börja utföra massa operationer på en fil som inte är av rätt typ?

Med de två frågorna bör du kunna lista ut var du ska sätta if-satsen.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
0
en if-sats ska innehålla ett booleanskt uttrycks om antingen blir sant eller falskt.

Du kan inte skriva:

$variabel = "hej"

if($variabel)

...

variabel är en sträng, inte en boolean och då funkar inte if-satsen. detsamma ifall variabeln är en siffra.

Du måste konstruera ytterligare pyloner

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till SkalmanOnDrugs [Gå till post]:
Man kan visst skriva if ($variabel) : )
Om variabeln == null så ger den false, annars true. Tywps.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
0

Svar till Syndafloden [Gå till post]:
Aha okej. Nu känner jag mig dum x)

Du måste konstruera ytterligare pyloner

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till SkalmanOnDrugs [Gå till post]:
Dock så blev jag nyfiken på skillnaden mellan if ( isset($some_var) ) och if ($some_var).

det ena sparar ju flera bokstäver, men det borde finnas en anledning till att man använder isset.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
0

Svar till Syndafloden [Gå till post]:
mmm jag antog det också x)

Du måste konstruera ytterligare pyloner

iDavidF
Visningsbild
Hjälte 2 inlägg
0
Aja, kände för att regga mig för att hjälpa dig.
Den där körs enbart om en fil är uppladdad, isset() returnar true eller false om varieabeln finns/är satt. Som ex. om du har ett POST fält. Då ska du ha if(isset($postsak){gör detta}. Eller ja nåt sånt iaf. Jag är också ganska så nybörjare. Btw, kom igåh mysql_real_escape_string() funktionen. :p

if(isset($_FILES['file']){
if($_FILES['file']['type'] == "image/jpeg"){

/*Ladda upp filen men kom ihåg*/
}
}

Ingen status

SatansMinion
Visningsbild
35 Hjälte 256 inlägg
0
Svar till iDavidF [Gå till post]:
du kan väl ändå inte använda förutsättningar inuti förutsättningar?


if(
(isset($_FILES['file']))
&&
($_FILES['file']['type'] == "image/jpeg")){

/*Ladda upp filen men kom ihåg*/
}

tjusigare (: dock skulle jag aldrig någonsin använda mig av enbart sådana funktioner för att avgöra ifall en fil som utger sig för att vara en bildfil verkligen är en bildfil


 

Kulan
Visningsbild
P 27 Hjälte 540 inlägg
Trådskapare
0
ok, Tack alla! :)

yolo

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Skulle kunna bygga en switch av det med.
Trorjag.

if ( isset($_FILES['my_file']) ) {

switch $_FILES['my_file']['type'] {
case "jpg":
case "jpeg":
case "png":
//something something
break;
}

}

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Anonymmedlem
Visningsbild
Bitter 9001 inlägg
0



Nu blir jag besviken på er. :(
if($var) { fungerar utmärkt eftersom en ifylld sträng är true medan en tom sträng är false.

if(FALSE || NULL || '' || 0 == FALSE) i om man inte kör === för att jämföra typ. Precis som att alla siffror utan 0 (även -1), strängar och TRUE ger TRUE om du inte kollar typen med ===.

Skillnaden mellan if($var) och if(isset($var) är att den senare ger TRUE även om värdet är FALSE, NULL, '' eller 0. Samtidigt som den första ger en varning om $var inte är definerad.

Tillägg av moodh 2011-10-04 10:19

Det fina med if($var) som jag i princip alltid använder är att man kan köra typ såhär:
function test($var = FALSE) {
if(!$var) { return FALSE }
// kod...
return TRUE;
}

SkalmanOnDrugs
Visningsbild
P 35 Göteborg Hjälte 2 758 inlägg
0
Svar till moodh [Gå till post]:
Proffset tells it like it is :3

Trodde det funkade som i Java.

Du måste konstruera ytterligare pyloner

iDavidF
Visningsbild
Hjälte 2 inlägg
0

Svar till SatansMinion [Gå till post]:
Har du en if i en if så kan du ju skriva ut exempelvis att filformatet var fel. För om den inte alla if satsens behov så kan du ju bara ha ett meddelande. :p

if(isset($_FILES['file']){
if($_FILES['file']['type'] == "image/jpeg"){
echo "Bilden laddades upp.";
}
echo "Fel filformat, dude.";
}


Jaja, det där fungerar iallafall för mig så.

Ingen status

Kulan
Visningsbild
P 27 Hjälte 540 inlägg
Trådskapare
0

Svar till iDavidF [Gå till post]:
Sant, Tack så mycket :)

yolo


Forum » Datorer & IT » Webbutveckling & Programmering » Bild uppladdning?

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons