Olyan problémám lenne, hogy először egy webtárhelyen próbálgattam a php kódjaimat, de most gondoltam egyet és feltelepítettem a xampp 5.6.20 verzióját és ami a webtárhelyen működött fájl letöltés az most itt a xampp-pal nem. Mi lehet a probléma?
<?php
if(isset($_POST['submit'])) { //ha megnyomtuk a feltöltés gombot
$target= ""; //célmappa
$file_name = $_FILES['file']['name']; //a célfájlt nevezze el a $_FILES superglobal változóban lévo fájlnévre (a fájl eredeti nevére)
$tmp_dir = $_FILES['file']['tmp_name']; //az ideiglenes mappa helyét a $tmp_dir változóban tároljuk
if(!preg_match('/(gif|jpe?g|png)$/i', $file_name)) //ha a fájlnak ($file_name-nek) a kiterjesztése nem gif, jpg/jpeg, png, akkor...
{
echo "Rossz fájltipus!"; //... "dobjon el" egy hibát
}
else
{
move_uploaded_file($tmp_dir, $target . $file_name); //az ideiglenes mappából átteszi a fájlt a végleges mappába (a $target . $file_name összeilleszti a két stringet, így uploads/fajlnev-et kapunk)
$feltoltve = true; //a feltoltve változó true értéket kap
if($feltoltve) {
$utvonal = $target . $file_name;
$wm_file = 'watermark.png';
header('Content-type: image/jpeg');
$watermark = imagecreatefrompng($wm_file);
$image = imagecreatefromjpeg($file_name);
list($fn_width,$fn_height) = getimagesize($file_name);
list($wm_width,$wm_height) = getimagesize($wm_file);
$kivon_width = $fn_width - $wm_width;
$kivon_height = $fn_height - $wm_height;
imagecopyresampled($image,$watermark,$kivon_width,$kivon_height,0,0,$wm_width,$wm_height,$wm_width,$wm_height);
imagejpeg($image, NULL, 100);
$image_type;
$image_info = getimagesize($image); // itt van baja valamiért a "getimagesize"-zal
$image_type = $image_info[2];
if( $image_type == IMAGETYPE_JPEG ) {
$type = 'image/jpeg';
} elseif( $image_type == IMAGETYPE_GIF ) {
$type = 'image/gif';
} elseif( $image_type == IMAGETYPE_PNG ) {
$type = 'image/png';
}
header('Content-type: '.$type);
header('Content-Disposition: attachment; filename="'.$file_name.'"');
exit;
}
}
}
?>
Gondolom az adott függvény az adott PHP verzióban nincs benne.
Amúgy ezek a kommentek bazz...
Biztos, hogy egy logikai változó értékadást hosszan magyarul le kell írni, hogy mit csinál?
Ezt amúgy azért nem értem ezt a függvényt mert előtte hibátlanul használja a
"list($fn_width,$fn_height) = getimagesize($file_name);
list($wm_width,$wm_height) = getimagesize($wm_file); "
sorokban
Mondjuk, ha többet elárulnál, annál, hogy "valami baja van" lehet nem kéne jósolgatni.
Háziorvosnak is csak annyit mondasz, hogy "nem jó"?
Hibaüzenet?
ír valami hibát a php kód, vagy csak lefut, de a feltöltés sikertelen?
Hibajelenség?
honnan tudod, hogy nem működik?
Próbáld meg végigjárni lépésről lépésre a scriptet, és a kulcshelyekre tegyél változóreportot és megszakítást. Így végigkövetheted, hogy hol milyen műveletek kerülnek végrehajtása, és hogy azok jók-e.
Fájlműveleteknél eltérések lehetnek windows és linux alapú szerverek esetén, és nyilván az eltérő php verzió is belezavarhat a dologba.
A php-ban van hibaüzenet kiiratás,csak be kell kapcsolni
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
A fájlméret és útvonal sokszor gond
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!