3v4l.org

run code in 500+ PHP versions simultaneously
<?php /** * Ashika Infra Projects — homepage + server-side contact form handler. * On POST, validates the fields and sends an email via PHP's mail(). * Requires a configured mail transport (sendmail/SMTP) on the server — * on most shared hosting this works out of the box; locally it will not * send unless you configure php.ini's [mail function] / an SMTP relay. */ $recipientEmail = "ashikainfraprojects@gmail.com"; $formStatus = null; // 'success' | 'error' | null $formErrors = []; $old = ['first_name' => '', 'last_name' => '', 'contact_no' => '', 'email' => '', 'message' => '']; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ashika_contact_submit'])) { $old['first_name'] = trim($_POST['first_name'] ?? ''); $old['last_name'] = trim($_POST['last_name'] ?? ''); $old['contact_no'] = trim($_POST['contact_no'] ?? ''); $old['email'] = trim($_POST['email'] ?? ''); $old['message'] = trim($_POST['message'] ?? ''); if ($old['first_name'] === '') $formErrors[] = "First name is required."; if ($old['last_name'] === '') $formErrors[] = "Last name is required."; if ($old['contact_no'] === '') $formErrors[] = "Contact number is required."; if ($old['email'] !== '' && !filter_var($old['email'], FILTER_VALIDATE_EMAIL)) { $formErrors[] = "Please enter a valid email address."; } if (empty($formErrors)) { $subject = "New project enquiry — {$old['first_name']} {$old['last_name']}"; $body = "New enquiry submitted from the Ashika Infra Projects website:\n\n"; $body .= "Name: {$old['first_name']} {$old['last_name']}\n"; $body .= "Contact No: {$old['contact_no']}\n"; $body .= "Email: " . ($old['email'] !== '' ? $old['email'] : '(not provided)') . "\n\n"; $body .= "Message:\n{$old['message']}\n"; $headers = "From: Ashika Infra Website <no-reply@ashikainfra.co.in>\r\n"; if ($old['email'] !== '') { $headers .= "Reply-To: {$old['email']}\r\n"; } $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; $sent = @mail($recipientEmail, $subject, $body, $headers); if ($sent) { $formStatus = 'success'; $old = ['first_name' => '', 'last_name' => '', 'contact_no' => '', 'email' => '', 'message' => '']; } else { $formStatus = 'error'; $formErrors[] = "The message could not be sent right now — please try again or call us directly."; } } else { $formStatus = 'error'; } } function h($value) { return htmlspecialchars($value ?? '', ENT_QUOTES, 'UTF-8'); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ashika Infra Projects Pvt Ltd — Power, Telecom &amp; Trenchless Infrastructure</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet"> <style> :root{ --bg:#0A0F1C; --bg-alt:#0D1424; --surface:#131C31; --surface-2:#1A2540; --line:rgba(232,238,247,0.09); --line-strong:rgba(232,238,247,0.16); --copper:#F0A34D; --copper-dim:#8A5E2B; --fiber:#4FE3C7; --fiber-dim:#1F4A46; --soil:#6E4A2E; --text:#EBF0F8; --text-dim:#AEB9CC; --text-mute:#76839B; --radius:14px; --maxw:1180px; } *{box-sizing:border-box; margin:0; padding:0;} html{scroll-behavior:smooth;} body{ background:var(--bg); color:var(--text); font-family:'IBM Plex Sans', sans-serif; line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; } img{max-width:100%; display:block;} a{color:inherit; text-decoration:none;} .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;} h1,h2,h3,h4{font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.01em; color:var(--text);} .mono{font-family:'IBM Plex Mono', monospace;} .eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--copper); display:flex; align-items:center; gap:10px; margin-bottom:14px; } .eyebrow::before{content:""; width:22px; height:1px; background:var(--copper);} section{position:relative; padding:110px 0;} @media(max-width:720px){section{padding:72px 0;}} body::before{ content:""; position:fixed; inset:0; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:64px 64px; opacity:0.35; pointer-events:none; z-index:0; mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%); } /* ---------- NAV ---------- */ header{ position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(10,15,28,0.72); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); } nav{ max-width:var(--maxw); margin:0 auto; padding:16px 28px; display:flex; align-items:center; justify-content:space-between; } .logo{ display:flex; align-items:center; gap:10px; font-family:'Space Grotesk'; font-weight:700; font-size:18px; letter-spacing:0.01em; } .logo .mark{ width:34px; height:34px; border-radius:8px; background:linear-gradient(145deg, var(--copper), #C97A2A); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-weight:600; color:#1a1206; font-size:14px; box-shadow:0 4px 14px rgba(240,163,77,0.35); } .logo small{display:block; font-family:'IBM Plex Mono'; font-size:9.5px; font-weight:400; color:var(--text-mute); letter-spacing:0.1em; margin-top:1px;} .navlinks{display:flex; gap:32px; font-size:14.5px; color:var(--text-dim);} .navlinks a{position:relative; padding:4px 0; transition:color .2s;} .navlinks a:hover{color:var(--text);} .navlinks a::after{content:"";position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--copper); transition:width .25s;} .navlinks a:hover::after{width:100%;} .navcall{ display:flex; align-items:center; gap:8px; font-family:'IBM Plex Mono'; font-size:13px; color:var(--copper); border:1px solid var(--line-strong); padding:9px 16px; border-radius:999px; transition:border-color .2s, background .2s; white-space:nowrap; } .navcall:hover{border-color:var(--copper); background:rgba(240,163,77,0.08);} @media(max-width:900px){ .navlinks{display:none;} .navcall span.txt{display:none;} } /* ---------- HERO ---------- */ .hero{padding:172px 0 100px; position:relative;} .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;} @media(max-width:980px){.hero-grid{grid-template-columns:1fr;}} .hero h1{font-size:clamp(34px, 4.6vw, 58px); line-height:1.06; margin-bottom:22px;} .hero h1 em{ font-style:normal; background:linear-gradient(100deg, var(--copper), var(--fiber)); -webkit-background-clip:text; background-clip:text; color:transparent; } .hero p.lead{font-size:17px; color:var(--text-dim); max-width:520px; margin-bottom:34px;} .cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:52px;} .btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:10px; font-size:14.5px; font-weight:600; transition:transform .2s, box-shadow .2s, background .2s;} .btn-primary{background:linear-gradient(135deg, var(--copper), #D4863A); color:#1a1206; box-shadow:0 8px 24px rgba(240,163,77,0.28);} .btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(240,163,77,0.4);} .btn-ghost{border:1px solid var(--line-strong); color:var(--text);} .btn-ghost:hover{border-color:var(--fiber); color:var(--fiber);} .stat-row{display:flex; gap:38px; flex-wrap:wrap;} .stat b{display:block; font-family:'Space Grotesk'; font-size:30px; color:var(--text);} .stat span{font-size:12.5px; color:var(--text-mute); font-family:'IBM Plex Mono'; letter-spacing:.03em;} /* ---------- 3D CROSS-SECTION (Three.js) ---------- */ .crosswrap{ position:relative; width:100%; max-width:460px; aspect-ratio:1/1.02; margin:0 auto; } #cross3d-canvas{width:100%; height:100%; display:block; cursor:grab;} #cross3d-canvas:active{cursor:grabbing;} .cross-hint{ position:absolute; bottom:10px; left:50%; transform:translateX(-50%); font-family:'IBM Plex Mono'; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-mute); opacity:.7; pointer-events:none; } .cross-loading{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:12px; color:var(--text-mute); letter-spacing:.06em; } /* ---------- MARQUEE ---------- */ .marquee{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; overflow:hidden; background:var(--bg-alt);} .marquee-track{display:flex; gap:56px; white-space:nowrap; animation:scroll 26s linear infinite; width:max-content;} .marquee-track span{font-family:'IBM Plex Mono'; font-size:13px; color:var(--text-mute); letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; gap:14px;} .marquee-track span::after{content:"◆"; color:var(--copper); font-size:9px;} @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}} /* ---------- SECTION HEAD ---------- */ .shead{max-width:640px; margin-bottom:56px;} .shead h2{font-size:clamp(26px,3vw,38px); margin-bottom:16px;} .shead p{color:var(--text-dim); font-size:15.5px;} /* ---------- SERVICES ---------- */ .svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;} @media(max-width:900px){.svc-grid{grid-template-columns:1fr;}} .svc-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transform-style:preserve-3d; transition:transform .12s ease-out, border-color .2s; will-change:transform;} .svc-card:hover{border-color:var(--line-strong);} .svc-media{height:190px; overflow:hidden; position:relative; background:var(--surface-2);} .svc-media img{width:100%; height:100%; object-fit:cover; transform:scale(1.02);} .svc-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(19,28,49,0.9));} .svc-num{position:absolute; top:14px; left:14px; font-family:'IBM Plex Mono'; font-size:12px; color:#fff; background:rgba(0,0,0,0.4); padding:4px 9px; border-radius:6px; backdrop-filter:blur(4px);} .svc-body{padding:26px 24px 28px;} .svc-body h3{font-size:20px; margin-bottom:10px; display:flex; align-items:center; gap:10px;} .svc-body p{color:var(--text-dim); font-size:14.5px; margin-bottom:16px;} .svc-list{list-style:none; display:flex; flex-direction:column; gap:8px;} .svc-list li{font-size:13.5px; color:var(--text-dim); display:flex; gap:9px; align-items:flex-start;} .svc-list li::before{content:""; width:5px; height:5px; border-radius:50%; margin-top:7px; flex-shrink:0; background:var(--copper);} .svc-card:nth-child(2) .svc-list li::before{background:var(--fiber);} .svc-card:nth-child(3) .svc-list li::before{background:#9AA7C4;} /* ---------- CASCADE ---------- */ .cascade{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:8px; perspective:1200px;} @media(max-width:820px){.cascade{grid-template-columns:repeat(2,1fr);}} .cstep{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:22px 20px; transition:transform .3s, border-color .3s;} .cstep:hover{transform:translateY(-6px) rotateX(4deg); border-color:var(--copper);} .cstep .kv{font-family:'Space Grotesk'; font-size:24px; color:var(--copper); margin-bottom:8px;} .cstep .lbl{font-size:13px; color:var(--text-dim);} .cstep .n{font-family:'IBM Plex Mono'; font-size:11px; color:var(--text-mute); margin-bottom:10px; display:block;} /* ---------- TRENCHLESS ---------- */ .tl-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;} @media(max-width:900px){.tl-grid{grid-template-columns:1fr;}} .adv-list{display:flex; flex-direction:column; gap:2px; margin-top:8px;} .adv-item{display:flex; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line);} .adv-item .ico{width:30px; height:30px; border-radius:8px; background:var(--surface-2); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--fiber); font-family:'IBM Plex Mono'; font-size:13px;} .adv-item p{font-size:14px; color:var(--text-dim);} .chip-cloud{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;} .chip{padding:9px 16px; border-radius:999px; border:1px solid var(--line-strong); font-size:13px; color:var(--text-dim); font-family:'IBM Plex Mono'; transition:border-color .2s, color .2s;} .chip:hover{border-color:var(--fiber); color:var(--fiber);} .tl-side h4{font-size:14px; color:var(--text-mute); text-transform:uppercase; letter-spacing:.08em; font-family:'IBM Plex Mono'; font-weight:500; margin-bottom:14px;} .tl-media-ph{border-radius:14px; border:1px solid var(--line); margin-bottom:28px; height:260px; background:linear-gradient(135deg,var(--surface),var(--surface-2)); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:12px; color:var(--text-mute); letter-spacing:.06em;} /* ---------- GALLERY ---------- */ .gal-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;} @media(max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr);}} @media(max-width:520px){.gal-grid{grid-template-columns:1fr;}} .gal-item{position:relative; border-radius:12px; overflow:hidden; aspect-ratio:4/5; border:1px solid var(--line); background:var(--surface); transform-style:preserve-3d; transition:transform .15s ease-out; will-change:transform;} .gal-item img{width:100%; height:100%; object-fit:cover; transition:transform .4s;} .gal-item:hover img{transform:scale(1.08);} .gal-cap{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg, rgba(10,15,28,0.92), transparent); font-size:12.5px; color:var(--text); font-family:'IBM Plex Mono';} /* ---------- VALUES ---------- */ .val-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;} @media(max-width:980px){.val-grid{grid-template-columns:repeat(2,1fr);}} @media(max-width:520px){.val-grid{grid-template-columns:1fr;}} .val-card{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:24px 18px; transition:transform .25s, border-color .25s;} .val-card:hover{transform:translateY(-5px); border-color:var(--copper);} .val-card .vn{font-family:'IBM Plex Mono'; color:var(--copper); font-size:12px; margin-bottom:14px; display:block;} .val-card h4{font-size:15px; margin-bottom:8px;} .val-card p{font-size:12.5px; color:var(--text-mute);} /* ---------- TEAM ---------- */ .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;} @media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}} @media(max-width:520px){.team-grid{grid-template-columns:1fr;}} .tmember{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:transform .2s, border-color .2s;} .tmember:hover{transform:translateY(-4px); border-color:var(--line-strong);} .tmember .ph{height:180px; overflow:hidden; background:var(--surface-2);} .tmember .ph img{width:100%; height:100%; object-fit:cover; filter:grayscale(15%);} .tmember .info{padding:16px 18px 20px;} .tmember .info h4{font-size:15px; margin-bottom:3px;} .tmember .info span{font-size:12px; color:var(--copper); font-family:'IBM Plex Mono';} .tmember .info p{font-size:12.5px; color:var(--text-mute); margin-top:10px; font-style:italic;} .tm-lead{grid-column:span 2;} @media(max-width:520px){.tm-lead{grid-column:span 1;}} .tm-lead .ph{height:230px;} /* ---------- CONTACT ---------- */ .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;} @media(max-width:900px){.contact-grid{grid-template-columns:1fr;}} .cinfo-row{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);} .cinfo-row .ico{width:38px; height:38px; border-radius:9px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; color:var(--fiber); flex-shrink:0;} .cinfo-row h5{font-size:13px; color:var(--text-mute); font-family:'IBM Plex Mono'; text-transform:uppercase; letter-spacing:.06em; margin-bottom:5px;} .cinfo-row p, .cinfo-row a{font-size:15px; color:var(--text);} .cinfo-row a:hover{color:var(--copper);} .form-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:32px;} .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;} @media(max-width:520px){.form-row{grid-template-columns:1fr;}} .form-card input, .form-card textarea{width:100%; background:var(--bg-alt); border:1px solid var(--line-strong); border-radius:9px; padding:13px 14px; color:var(--text); font-family:'IBM Plex Sans'; font-size:14px;} .form-card input::placeholder, .form-card textarea::placeholder{color:var(--text-mute);} .form-card input:focus, .form-card textarea:focus{outline:2px solid var(--copper); border-color:transparent;} .form-card label{font-size:12px; color:var(--text-mute); font-family:'IBM Plex Mono'; display:block; margin-bottom:14px;} .form-card button{width:100%; margin-top:6px; border:none; cursor:pointer; font-family:inherit;} /* ---------- FOOTER ---------- */ footer{border-top:1px solid var(--line); padding:40px 0; background:var(--bg-alt);} .foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;} .foot-row p{font-size:13px; color:var(--text-mute);} .foot-links{display:flex; gap:22px; font-size:13px; color:var(--text-mute);} .foot-links a:hover{color:var(--copper);} .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;} .reveal.in{opacity:1; transform:translateY(0);} @media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} html{scroll-behavior:auto;} } </style> </head> <body> <header> <nav> <a href="#top" class="logo"> <div class="mark">AI</div> <div>ASHIKA INFRA<small>PROJECTS PVT LTD</small></div> </a> <div class="navlinks"> <a href="#services">Services</a> <a href="#trenchless">Trenchless HDD</a> <a href="#projects">Projects</a> <a href="#team">Team</a> <a href="#contact">Contact</a> </div> <a href="tel:+917003953750" class="navcall"> <span class="mono">●</span><span class="txt">+91 70039 53750</span> </a> </nav> </header> <main id="top"> <!-- HERO --> <section class="hero"> <div class="wrap hero-grid"> <div class="reveal in"> <div class="eyebrow">Kolkata, West Bengal — Pan-India EPC</div> <h1>Everything below the surface, <em>engineered above expectation.</em></h1> <p class="lead">Ashika Infra Projects delivers turnkey power distribution, telecom &amp; OFC networks, and trenchless HDD pipe-laying — one contractor across every layer of your infrastructure.</p> <div class="cta-row"> <a href="#contact" class="btn btn-primary">Get a project quote →</a> <a href="#trenchless" class="btn btn-ghost">Explore trenchless tech</a> </div> <div class="stat-row"> <div class="stat"><b>28 yrs</b><span>TEAM EXPERIENCE</span></div> <div class="stat"><b>2015</b><span>HDD TECH ADOPTED</span></div> <div class="stat"><b>3</b><span>CORE DIVISIONS</span></div> <div class="stat"><b>Pan-India</b><span>PROJECT REACH</span></div> </div> </div> <div class="crosswrap reveal in" id="crosswrap"> <div class="cross-loading" id="cross-loading">Loading 3D scene…</div> <canvas id="cross3d-canvas"></canvas> <div class="cross-hint" id="cross-hint">Drag to rotate</div> </div> </div> </section> <!-- MARQUE

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.90.0320.00817.13
8.5.80.0340.00917.09
8.5.70.0340.00916.86
8.5.60.0330.00616.94
8.5.50.0370.00816.80
8.5.40.0320.00916.69
8.5.30.0320.00616.82
8.5.20.0290.00716.90
8.5.10.0280.00716.80
8.5.00.0080.01217.17
8.4.240.0280.01119.50
8.4.230.0280.01119.72
8.4.220.0300.01019.74
8.4.210.0280.01019.58
8.4.200.0290.00819.60
8.4.190.0310.00919.81
8.4.180.0350.00919.73
8.4.170.0270.00819.95
8.4.160.0210.00619.96
8.4.150.0250.00919.88
8.4.140.0330.00617.85
8.4.130.0320.00917.89
8.4.120.0370.01017.90
8.4.110.0350.00718.03
8.4.100.0310.00817.84
8.4.90.0350.00817.84
8.4.80.0290.01117.86
8.4.70.0310.00917.97
8.4.60.0370.01017.88
8.4.50.0370.00717.94
8.4.40.0380.00817.88
8.4.30.0280.00717.85
8.4.20.0260.00717.77
8.4.10.0360.00917.83
8.3.330.0390.00918.62
8.3.320.0310.00918.64
8.3.310.0280.00918.60
8.3.300.0210.00618.53
8.3.290.0290.00718.47
8.3.280.0310.00818.49
8.3.270.0340.00916.91
8.3.260.0370.00616.75
8.3.250.0370.00816.76
8.3.240.0320.00716.90
8.3.230.0360.00616.88
8.3.220.0350.00816.94
8.3.210.0370.00616.67
8.3.200.0370.00816.55
8.3.190.0350.01016.74
8.3.180.0340.00816.82
8.3.170.0330.01016.80
8.3.160.0340.01116.93
8.3.150.0340.01016.73
8.3.140.0280.00616.94
8.3.130.0270.00916.83
8.3.120.0250.00916.65
8.3.110.0300.00516.71
8.3.100.0360.00816.77
8.3.90.0340.00716.80
8.3.80.0320.00916.91
8.3.70.0330.01016.62
8.3.60.0210.00916.84
8.3.50.0310.00816.89
8.3.40.0350.00917.89
8.3.30.0290.00818.00
8.3.20.0280.00718.13
8.3.10.0260.00818.13
8.3.00.0270.00917.97
8.2.330.0460.01117.97
8.2.320.0380.00817.81
8.2.310.0340.01018.10

preferences:
65.43 ms | 2187 KiB | 5 Q